ªð¦^¦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¬¡¡^

¦^´_ 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

        ÀR«ä¦Û¦b : ¡i®É¶¡¦pÆp¥Û¡j®É¶¡¹ï¤@­Ó¦³´¼¼zªº¤H¦Ó¨¥¡A´N¦pÆp¥Û¯ë¬Ã¶Q¡F¦ý¹ï·M¤H¨Ó»¡¡A«o¹³¬O¤@§âªd¤g¡A¤@ÂI»ù­È¤]¨S¦³¡C
ªð¦^¦Cªí ¤W¤@¥DÃD