Board logo

標題: pdf另存新檔( 文字檔)可以用vba操作嗎 [打印本頁]

作者: y663258    時間: 2010-9-28 10:08     標題: pdf另存新檔( 文字檔)可以用vba操作嗎

因工作上需要每次多以手動方式,先開啟該pdf檔再另存新檔(文字檔)於同資料夾中想用vba,自己看說明併湊出如下但FileFormat:=xlText 不是BrCl029mView4.PDF,ActiveWorkbook會是我開啟執行vba的excel可以改成已開啟的BrCl029mView4.PDF符合需求。請先進們協助謝謝。
  file_name = "D:\作業\公文\新系統\BrCl029mView4.PDF"
  ActiveWorkbook.FollowHyperlink file_name, , True
  ActiveWorkbook.SaveAs Filename:= _
  "D:\作業\公文\新系統\BrCl029mView4.txt", FileFormat:=xlText _
   , CreateBackup:=False
作者: jackdream    時間: 2010-9-29 16:43

回復 1# y663258

是開啟 PDF 後,另存為 txt 檔案嗎? 試試SendKey方式
  1. Sub test()

  2.     Set WSh = CreateObject("WScript.Shell")
  3.     WSh.Run "D:\作業\公文\新系統\BrCl029mView4.PDF"      '開啟 pdf 檔案
  4.    
  5.     Application.Wait (Now + TimeValue("0:00:5"))    '暫停5秒(等候開啟檔案)
  6.    
  7.     SendKeys "%F"  '開啟檔案功能選項
  8.    
  9.     Application.Wait (Now + TimeValue("0:00:1"))    '暫停1秒
  10.    
  11.     SendKeys "V"   '存成文字檔
  12.    
  13.     Application.Wait (Now + TimeValue("0:00:1"))    '暫停1秒
  14.    
  15.     SendKeys "D:\作業\公文\新系統\BrCl029mView4.txt"
  16.    
  17.     Application.Wait (Now + TimeValue("0:00:1"))    '暫停1秒
  18.    
  19.     SendKeys "{Enter}"  '按下 Enter 開始存檔(.txt)

  20. End Sub
複製代碼

作者: y663258    時間: 2010-9-30 09:37

非常感謝jackdream 解決我的困擾也學一招,再次請問加上Application.ScreenUpdating = False
    會什麼不能關畢影幕更新。
[code][/code] Set WSh = CreateObject("WScript.Shell")
    WSh.Run "D:\作業\公文\新系統\BrCl029mView4.PDF"      '開啟 pdf 檔案
    Application.ScreenUpdating = False
   
    Application.Wait (Now + TimeValue("0:00:1"))    '暫停5秒(等候開啟檔案)
   
    SendKeys "%F"  '開啟檔案功能選項
   
    Application.Wait (Now + TimeValue("0:00:01"))    '暫停1秒
   
    SendKeys "V"   '存成文字檔
      
    Application.Wait (Now + TimeValue("0:00:01"))    '暫停1秒
   
    SendKeys "D:\作業\公文\新系統\BrCl029mView4.txt"
   
    Application.Wait (Now + TimeValue("0:00:01"))    '暫停1秒
     SendKeys "{Enter}"  '按下 Enter 開始存檔(.txt)
    SendKeys "S"
   
   Application.Wait (Now + TimeValue("0:00:01"))
     SendKeys "Y"
   
   Application.Wait (Now + TimeValue("0:00:01"))
   
   ' SendKeys "{Enter}"  '按下 Enter 開始存檔(.txt)
    Opwb = ThisWorkbook.Path & "\BrCl029mView4.txt"
    Workbooks.Open Opwb
    Windows("BrCl029mView4.txt").Activate
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Workbooks.Open Filename:="D:\作業\公文\新系統\公文資料輸入.xls"
     Cells.Select
    Range("B29").Activate
    ActiveSheet.Paste
    Windows("BrCl029mView4.txt").Activate
    Application.ScreenUpdating = True
     Workbooks.Open Filename:="D:\作業\公文\新系統\公文.xls"
End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)