註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» (發問)WEB查詢,如何取消跳出的警告視窗
返回列表
下一主題
上一主題
發帖
(發問)WEB查詢,如何取消跳出的警告視窗
faye59
發短消息
加為好友
faye59
(温奇)
當前離線
議論者
UID
30039
帖子
104
主題
5
精華
0
積分
110
金錢
110
點名
0
作業系統
win7
軟體版本
Office2007
閱讀權限
20
性別
男
在線時間
116 小時
註冊時間
2017-11-14
最後登錄
2019-4-30
暱稱:
温奇
頭銜:
議論者
中學生
帖子
104
主題
5
精華
0
積分
110
點名
0
作業系統
win7
軟體版本
Office2007
閱讀權限
20
性別
男
註冊時間
2017-11-14
最後登錄
2019-4-30
1
#
跳轉到
»
發表於 2018-8-9 21:07
|
顯示全部帖子
回復
16#
7777
試試看吧!
Sub test()
Dim x
Dim oie As Object: Set oie = CreateObject("internetexplorer.application")
With oie
.Visible = True
.Navigate ""
Do While .readystate <> 4 Or .busy: DoEvents: Loop
Set wshshell = CreateObject("wscript.shell")
Do
ret = wshshell.AppActivate("Microsoft Excel")
Loop Until ret = True
Application.Wait Now + 2 / 86400
ret = wshshell.AppActivate("Microsoft Excel")
If ret = True Then
ret = wshshell.AppActivate("Microsoft Excel")
Application.Wait Now + 2 / 86400
wshshell.SendKeys "{enter}"
End If
Application.Wait Now + 2 / 86400
Do While .readystate <> 4 Or .busy: DoEvents: Loop
.Quit
End With
End Sub
複製代碼
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。
TOP
faye59
發短消息
加為好友
faye59
(温奇)
當前離線
議論者
UID
30039
帖子
104
主題
5
精華
0
積分
110
金錢
110
點名
0
作業系統
win7
軟體版本
Office2007
閱讀權限
20
性別
男
在線時間
116 小時
註冊時間
2017-11-14
最後登錄
2019-4-30
暱稱:
温奇
頭銜:
議論者
中學生
帖子
104
主題
5
精華
0
積分
110
點名
0
作業系統
win7
軟體版本
Office2007
閱讀權限
20
性別
男
註冊時間
2017-11-14
最後登錄
2019-4-30
2
#
發表於 2018-8-16 21:10
|
顯示全部帖子
回復
18#
7777
網址3個的話要看你讀取順序,猜你應該都是分批讀取吧,只要在網址地方改成字串再用迴圈方式重複這段程序即可,
或是你可以附上你的最新進度檔案,這樣比較清楚你的問題點。
其實這段程序只是讓你測試用,從第7列開始才是重點。
Sub test()
Dim oie As Object: Set oie = CreateObject("internetexplorer.application")
With oie
'.Visible = True '這部分註解掉也沒關係,註解掉不會顯示背景還是會執行跟False一樣,因為測試所以需開啟畫面確認後續程序無誤
.Navigate "" '輸入網址
Do While .readystate <> 4 Or .busy: DoEvents: Loop
Set wshshell = CreateObject("wscript.shell") '引用其它物件,呼叫其它應用程式
Do '迴圈應用程式中指定物件
ret = wshshell.AppActivate("Microsoft Excel") '找尋引用物件名稱,如果跳出視窗標題是"網頁訊息"修改成警告訊息標題
'陳述式AppActivate標題 [等待]
Loop Until ret = True '當ret有值時結束迴圈
Application.Wait Now + 2 / 86400 '這部分其實可以不等待
ret = wshshell.AppActivate("Microsoft Excel")
If ret = True Then
ret = wshshell.AppActivate("Microsoft Excel")
Application.Wait Now + 2 / 86400 '這裡一定要等待2秒,其實時間不一定,只是SendKeys這個動作常常發生不穩定性問題,確保程序沒問題才執行enter這動作
wshshell.SendKeys "{enter}" '對警告訊息視窗按下鍵盤enter按鍵
End If
Application.Wait Now + 2 / 86400 '等待2秒
Do While .readystate <> 4 Or .busy: DoEvents: Loop '確認網頁載入完成
.Quit '關閉網頁
End With
End Sub
複製代碼
以上是我以前從麻辣家族某個地方Copy過來的(忘記來源了...抱歉),我實際用上是針對會跳出警告視窗地方加入以下程序即可。
Set Wshshell = CreateObject("wscript.shell")'新增Wshshell為呼叫其它應用程式物件
Application.Wait Now + 2 / 86400'等待2秒
ret = Wshshell.AppActivate("網頁訊息")'ret應用程式中是否有"網頁訊息"Title
If ret = True Then'確認有執行
Wshshell.SendKeys "{enter}"'鍵盤操作enter指令
End If
複製代碼
一分努力,一分收穫。
發問題前可以先搜索內文是否有相關範例。
TOP
靜思自在 :
做好事不能少我一人,做壞事不能多我一人。
返回列表
下一主題
上一主題
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲