ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] excel vba ¦p¦ó±N¨ä¥¦µ{¦¡ªºµøµ¡²¾¨ì³Ì¤W¼h¡H

[µo°Ý] excel vba ¦p¦ó±N¨ä¥¦µ{¦¡ªºµøµ¡²¾¨ì³Ì¤W¼h¡H

¥»©«³Ì«á¥Ñ eigen ©ó 2016-10-28 17:57 ½s¿è

³o¬O¤@­Ó¦C¦Lªºµ{¦¡¡A·|±q ¤ëµ²¦a§} §ì«ü©wªº¦æ¡A¨ì «H«Ê15K ¡A¶ñ¤J¸ê®Æ¡AµM«á±q¦Lªí¾÷¦C¦L¡C¡]¤S¯ä¤Sªø¡A§Ú±N³o¨Ç¬Ù²¤¤F¡^

²{¦b¡A§Ú§Æ±æ±N³o¨Ç¡A¿é¥X¦¨ pdf ¡A§Úªºpc ¦³¦w¸Ë  cutepdf ¡A¦C¦L®É¡AµM©wcupte pdf  ¡A´N¯à²£¥Í¥t·sÀɪºµe­±¡A´N¯à²£¥Ípdf
  1. Sheets("«H«Ê15K").PrintOut Copies:=1, Collate:=True, ActivePrinter:="CutePDF Writer"    '«ü©wcutePDF ¦C¦L   
  2. Application.Wait Now() + TimeValue("00:00:03")  'delay 3sec                                                
  3.                                                                                                             
  4. '¦p¦óÅý cutepdf ²£¥Íªº ¡y¥t¦s·sÀÉ¡zªºµøµ¡¥X²{¦b ³Ì¤W­±¡H                                                   
  5.                                                                                                             
  6. SendKeys "n", False                 'press n ¸õ¨ì ÀɦW¿é¤J¼Ó¦ì                                             
  7. SendKeys E.Range("B1") & ".Pdf" & "{ENTER}", False  'key in file name A001.pdf                              
½Æ»s¥N½X
delay 3sec ¬O¦]¬° cupte pdf ªº¤ÏÀ³¤£§Ö

¥X²{¥t¦s·sÀɤ§«á¡A§Ú¦A¥Î SendKeys ³o­Ó«ü¥O¨Ó ¿é¤J  n ¤Î ¿é¤J½s¸¹.pdf (a001.pdf b001.pdf¤§Ãþ¡^

«á¨Ó¹ê°µ®É¡A400­Ó¦a§}¤j¬ù­n 27¤ÀÄÁ¡A¦b¦C¦Lªº´Á¶¡¡A§Ú¥u­n¾Þ§@¹q¸£¡A¡]¶}±Ò chrome/ word / °O¨Æ¥»..¡^  ¥t¦s·sÀÉ ³o­Ó µøµ¡´N·|³QÀ½¨ì¹Ï¼hªº¤U­±

³o®Éªº key in ´N·|Åܦ¨¦b word / °O¨Æ¥»¤W¥´¦r ¡AµM«á´N....¾ã­Ó¿ù¶Ã¤F

¡°§Ú·Q¦b key in ¤§«e¡A¯à¥ý±N¤W¹Ïªº ¡y¥t¦s·sÀÉ¡z²¾¨ì³Ì¤W¼h¡A½Ð°Ý¦p¦ó¹ê§@¡HÁÂÁÂ
  1. Option Explicit
  2. Sub Print__15k()
  3. '******************************************************************
  4. '¦bSheets("¤ëµ²¦a§}")¤¤¡A¥Î·Æ¹«¿ï¾Ü­n¦L¦Cªº¦æ¡A°õ¦æ¦¹µ{¦¡¡A§Y¥i®Mªí¦C¦L
  5. '******************************************************************
  6.     Dim E As Range
  7.       
  8.     Sheets("¤ëµ²¦a§}").Activate
  9.         For Each E In Selection.EntireRow
  10.         
  11.             If (E.Range("A1") = 1 Or UCase(E.Range("A1").Value) = "F") Then '±Æ°£²Ä¤@¦æ¼ÐÀY ¤Î «D·Ç³Æ¦C¦Lªº¸ê®Æ¡A¦æ­º»Ý¬°1©ÎF

  12.                 E.Range("a1") = "Yes"                   '¼Ð¥Ü Yes¡A¤£¦Pµ{§Ç¼Ð¥Ü¤£¤@¼Ë
  13.       
  14.         
  15.                 If Sheets("¤ëµ²¦a§}").AutoPDF.Value = False Then
  16.                     Sheets("«H«Ê15K").PrintOut              '¦L¦C
  17.                     Sheets("«H«Ê15K").Activate
  18.                 Else
  19.                     Sheets("«H«Ê15K").PrintOut Copies:=1, Collate:=True, ActivePrinter:="CutePDF Writer"    '«ü©wcutePDF ¦C¦L
  20.                     Application.Wait Now() + TimeValue("00:00:03")  'delay 3sec
  21.                     
  22.                     '¦p¦óÅý cutepdf ²£¥Íªº ¡y¥t¦s·sÀÉ¡zªºµøµ¡¥X²{¦b ³Ì¤W­±¡H
  23.                     
  24.                     SendKeys "n", False                 'press n ¸õ¨ì ÀɦW¿é¤J¼Ó¦ì
  25.                     SendKeys E.Range("B1") & ".Pdf" & "{ENTER}", False  'key in file name A001.pdf
  26.                 End If
  27.                
  28.             'Else
  29.             '       MsgBox  "Input error!" & vbCrLf & vbCrLf & "Can't Print Cheque.", vbOKOnly, "Error"
  30.             End If
  31.         End If
  32.         
  33.         Next

  34. End Sub
½Æ»s¥N½X
¤½¶}¸gÅç¡A³Ð³y´¼¼z¡]§Ú¤S¤£¾a³o¹L¬¡¡^

¥»©«³Ì«á¥Ñ GBKEE ©ó 2016-10-29 10:04 ½s¿è

¦^´_ 1# eigen

¸Õ¸Õ¬Ý,¥Î¬¡­¶Ã¯ªº¹w³]¨Æ¥ó BeforePrint ¨Æ¥ó ¦b¬¡­¶Ã¯ (©ÎªÌ¨ä¤¤¬Y¨Ç¤º®e) ¦C¦L«eµo¥Í¦¹¨Æ¥ó¡C

ThisWorkbook ¼Ò²Õµ{¦¡½X
  1. Option Explicit
  2. Private Sub Workbook_BeforePrint(Cancel As Boolean)
  3.     If Sheet1.Msg Then
  4.         SendKeys "n", False                 'press n ¸õ¨ì ÀɦW¿é¤J¼Ó¦ì
  5.         SendKeys Sheet1.Rng.Range("B1") & ".Pdf" & "{ENTER}", False   'key in file name A001.pdf
  6.     End If
  7. End Sub
½Æ»s¥N½X
Sub Print__15k() ©Ò¦bªº¼Ò²Õµ{¦¡½X
  1. '**'**Sub Print__15k() ¦p¦b¼Ò²Õ Sheet1
  2. Option Explicit
  3. Public Rng As Range, Msg As Boolean   '³]¬° ±M®×¥i¥Îªº¦@¥ÎÅܼÆ
  4. Sub Print__15k()
  5. '******************************************************************
  6. '¦bSheets("¤ëµ²¦a§}")¤¤¡A¥Î·Æ¹«¿ï¾Ü­n¦L¦Cªº¦æ¡A°õ¦æ¦¹µ{¦¡¡A§Y¥i®Mªí¦C¦L
  7. '******************************************************************
  8.     Dim E As Range
  9.     Sheets("¤ëµ²¦a§}").Activate
  10.     For Each E In Selection.EntireRow
  11.         Msg = False
  12.         If (E.Range("A1") = 1 Or UCase(E.Range("A1").Value) = "F") Then '±Æ°£²Ä¤@¦æ¼ÐÀY ¤Î «D·Ç³Æ¦C¦Lªº¸ê®Æ¡A¦æ­º»Ý¬°1©ÎF
  13.             E.Range("a1") = "Yes"                   '¼Ð¥Ü Yes¡A¤£¦Pµ{§Ç¼Ð¥Ü¤£¤@¼Ë
  14.                        If Sheets("¤ëµ²¦a§}").AutoPDF.Value = False Then
  15.                 Sheets("«H«Ê15K").PrintOut              '¦L¦C
  16.                 Sheets("«H«Ê15K").Activate
  17.             Else
  18.                 Set Rng = E
  19.                 Msg =True
  20.                 Sheets("«H«Ê15K").PrintOut Copies:=1, Collate:=True, ActivePrinter:="CutePDF Writer"    '«ü©wcutePDF ¦C¦L
  21.             End If
  22.         End If
  23.     Next
  24. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 2# GBKEE

ÁÂÁÂ~~
  1. 'Option Explicit
  2. Private Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
  3. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
½Æ»s¥N½X
¥ý«Å§i³o¨â­Ó

§ï¼gµ{¦¡¦p¤U¡A¤U¹F¦C¦L«ü¥O¤§«á¡A¦bfor °j°éµ¥8¦¸(®É¶¡¥i¥H¦Û¤v½Õ)¡A §ä¨ì¡y¥t¦s·sÀÉ¡zªºµøµ¡¥X²{«á¥ß¨è¸õ¥Xfor¡A

±N ¡y¥t¦s·sÀÉ¡z BringWindowToTop ²¾¨ì³Ì¤W¼h¡A¿é¤JÀɦW

Â÷¶}¤§«á¦Aµ¥¤@¬í¡]§Úµo²{cutepdf ªº³t«×¤ñ excel ºC¡A¿é¤J§¹ÀɦW¡Acutepdf ÁÙ¨S§¹¦¨¤u§@¡Aexcel ¤w¸g§ì§¹¤U¤@²Õªº¸ê®Æ¡A¦b§ä¡y¥t¦s·sÀÉ¡z¡A¾É­P¶¶§Ç¿ù¶Ã¡^

¡° ¯ÊÂI¡Gµ{¦¡¹B§@´Á¶¡¡A¤£¯à¾Þ§@¹q¸£¡A¤£µM¤@¤£¤p®É´N·|¼vÅTÄ´¥t¦s·sÀɪº¿é¤J¡C

¡°§Ú¥Î¹L³\¦h§K¶Oªº pdf ¡A¥Ø«e´Ncutepdf ªº¿é¥Xµe­±³Ì¥¿±`¡A½a«hÅÜ¡AÅÜ«h³q~~

¥H¤W¬O excel 2003 §Q¥Î vba ¿é¥X¤@°ï pdf ªº¤èªk
  1. If Sheets("¤ëµ²¦a§}").AutoPDF.Value = False Then
  2.         Sheets("«H«Ê15K").PrintOut                      '¦L¦C
  3.         Sheets("«H«Ê15K").Activate
  4. Else
  5.         Sheets("«H«Ê15K").PrintOut Copies:=1, Collate:=True, ActivePrinter:="CutePDF Writer"
  6.         Application.Wait Now() + TimeValue("00:00:01")  'delay 1sec
  7.         Dim THandle As Long
  8.         Dim i  As Integer
  9.         For i = 1 To 8
  10.                 Application.Wait Now() + TimeValue("00:00:01")  'delay 1sec
  11.                 THandle = FindWindow(vbEmpty, "¥t¦s·sÀÉ")
  12.                 If THandle <> 0 Then
  13.                         i = 20
  14.                 End If
  15.         Next

  16.         If i = 20 + 1 Then
  17.                 BringWindowToTop THandle
  18.                 SendKeys "n", False                             'press n
  19.                 BringWindowToTop THandle
  20.                 SendKeys E.Range("B1") & "_" & E.Range("M1") & "_" & E.Range("C1") & ".Pdf" & "{ENTER}", False  'key in file name
  21.         End If
  22.         Application.Wait Now() + TimeValue("00:00:01")  'delay 1sec
  23. End If
½Æ»s¥N½X
¤½¶}¸gÅç¡A³Ð³y´¼¼z¡]§Ú¤S¤£¾a³o¹L¬¡¡^

TOP

¦^´_ 1# eigen
«Øij¸Õ¸Õ¬Ýª½±µ¥Î PrintOut ¤èªkªº°Ñ¼Æ(PrintToFile¡BPrToFileName)¨Ó«ü©w¿é¥XÀɦW
ªí¹F¤£²M¡BÃD·N¤£©ú½T¡B¨SªþÀɮ׮榡¡B¨S¦³°Q½×°ÝÃDªººA«×~~~~~~¥H¤W·R²ö¯à§U¡C

TOP

        ÀR«ä¦Û¦b : ¡i¥Í©R¦b©I§l¶¡¡j¦òªû»¡¡G¡u¥Í©R¦b©I§l¶¡¡C¡v¤HµLªkºÞ¦í¦Û¤vªº¥Í©R¡A§óµLªk¾×¦í¦º´Á¡AÅý¦Û¤v¥Ã¦í¤H¶¡¡C¬JµM¥Í©R¥h¨Ó³o»òµL±`¡A§Ú­Ì§óÀ³¸Ó¦n¦n¦a·R±¤¥¦¡B§Q¥Î¥¦¡B¥R¹ê¥¦¡AÅý³oµL±`¡BÄ_¶Qªº¥Í©R¡A´²µo¥¦¯uµ½¬üªº¥ú½÷¡A¬M·Ó¥X¥Í©R¯u¥¿ªº»ù­È¡C
ªð¦^¦Cªí ¤W¤@¥DÃD