標題:
[發問]
vba 開啟 ie 另存新檔問題
[打印本頁]
作者:
koshi0413
時間:
2016-5-15 12:42
標題:
vba 開啟 ie 另存新檔問題
以下是小弟在網路上看的方式照改的。
需要的動作,開啟ie > 列印pdf > 自動帶入所需檔名 > 存檔
目前的動作,開啟ie > 列印pdf ....掛了
有高手可幫忙嘛?
對了,有看到一篇不錯,7樓 GBKEE 大這篇,為另存網頁,但~~有些我要的網頁都跑不了@@
http://forum.twbts.com/viewthread.php?tid=12273
這方式應該可也另存成pdf吧?
ps: ie 可改用 chrome 來列印pdf嘛?
pps:小弟不是學程式的,所以很多都看不懂,只是一個一個試
Sub 工作表1()
Sheets("工作表1").Select
Dim xlsName, xlsNameNo, MyName, NewName, SavePath, DDate, URL As String
xlsName = ActiveWorkbook.Name ''檔名
xlsNameNo = Mid(s, 1, 4) ''檔名前4字元
MyName = Application.ActiveWorkbook.FullName ''路徑檔名
NewName = Left(MyName, Len(MyName) - 5) ''去除副檔名
SavePath = ActiveWorkbook.Path ''路徑
DDate = Format(Date, " _ yyyy-mm-dd") ''當日日期
URL = "http://goodinfo.tw/StockInfo/EquityDistributionClassHis.asp?STOCK_ID=2330" ''網址
Cells.Clear
Application.DisplayStatusBar = True
Application.ScreenUpdating = False
Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"
With ie
.Visible = True 'True為開啟ie, False為不開啟ie
.Navigate URL
Do While .Readystate <> 4 '等待網頁開啟
DoEvents
Loop
Application.StatusBar = "資料複製中請稍候...."
.ExecWB 6, 2 ''列印成pdf
???????????? ''這一串要接什麼才可以自動key入檔名呢? 比方說:fileName = xlsName & DDate 在網路上找了很多字串,還是不會用~
End With
Application.StatusBar = False
''ie.Quit
End Sub
複製代碼
作者:
koshi0413
時間:
2016-5-17 07:29
回復
1#
koshi0413
附上相關資料,請各位高手開示一下......
[attach]24299[/attach]
[attach]24298[/attach]
作者:
koshi0413
時間:
2016-5-18 19:37
今天有在試了一個方式 SendKeys
可以存檔案下來,但key入的名字,常常跑不完全(因為要跑五個網頁,一個一個跑,跑五次,如果反覆一直按,每次存的名字要看運氣才會正確也)
Sub 下載pdf()
Sheets("下載用").Select
Dim xlsName, xlsNameNo, MyName, NewName, SavePath, DDate, URL As String
xlsName = ActiveWorkbook.Name ''檔名
xlsNameNo = Mid(xlsName, 1, 4) ''檔名前4字元
SavePath = ActiveWorkbook.Path ''路徑
MyName = Application.ActiveWorkbook.FullName ''路徑檔名
NewName = Left(MyName, Len(MyName) - 5) ''去除副檔名
DDate = Format(Date, "yyyy-mm-dd _ ") ''當日日期
Cells.Clear
Application.DisplayStatusBar = True
Application.ScreenUpdating = False
''董監持股現況1
Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"
URL = "http://www.fortunengine.com.tw/stock/company/holding.cfm?scode=" & xlsNameNo ''網址
With ie
.Visible = False 'True為開啟ie, False為不開啟ie
.Navigate URL
Do While .Busy: DoEvents: Loop
Do While .Busy: DoEvents: Loop
Do While .Readystate <> 4: DoEvents: Loop
.ExecWB 6, 2
Application.Wait Now + TimeValue("00:00:04")
Application.SendKeys (DDate & xlsNameNo & "_1")
''Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "{TAB}", True
''Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "{TAB}", True
''Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "{TAB}", True
''Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "{ENTER}", True
''Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "{TAB}", True
Application.SendKeys "{ENTER}", True
End With
Application.StatusBar = False
ie.Quit
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)