Auto openの処理でIEを起動し操作しようとしているのですが
添付画像の起動中の画面が出たままでExcelの画面はずっとあらわれず
そのうち、起動中の画面のまま、Auto openのマクロが作動して
IEが立ち上がり進行していくのですが
ダウンロードで「~を開くか、または保存しますか?」
の所で、Sendkeysで保存をしたいのですがSendkeyの命令が
届かないようで、そこで処理が止まってしまいます。
ちなみに、Auto openを使わずに、
普通にそのExcelファイルを立ち上げた後に
Auto openの中の処理を行うと普通にSendkeyの処理が出来ています。
どうしてAuto openからだとうまくいかないのでしょうか?
(Excelが起動中の画面のままだというのがどうも変な感じですよね)
なにかいい方法があれば教えて下さい!
環境は、
Excel2013、IE10、Windows7(32bit) です。
ソースコードは以下のようになります
Sub Auto_Open()
Dim aaa As String
Dim doc As HTMLDocument
Dim coll As IHTMLElementCollection
Dim select1 As IHTMLSelectElement
Dim txtInput As IHTMLInputElement
Dim txtOutput As IHTMLInputElement
Dim btn As IHTMLInputElement
wkstname = CreateObject("WScript.Network").ComputerName
pcnamae = CreateObject("WScript.Network").UserName
tmname = ActiveWorkbook.Name
syu999 = ThisWorkbook.Name
syu888 = ActiveSheet.Name
Dim FileName_InFolder As String
'フォルダのパスを取得
FileName_InFolder = "C:\Users\" & pcnamae & "\Downloads"
'すべてのファイル指定
FileName_InFolder = FileName_InFolder & "\*.*"
'ファイルの削除
If Dir(FileName_InFolder) <> "" Then Kill FileName_InFolder
Dim ie As New InternetExplorer
ie.Navigate "http://kyodo-web/kyodo/servlet/login?WWSeihon"
ie.Visible = True
While ie.Busy = True Or ie.ReadyState < READYSTATE_COMPLETE
DoEvents
Wend
Set doc = ie.document
Set coll = doc.getElementsByTagName("BODY")
While coll.Length <= 0
DoEvents
Wend
Set select1 = doc.getElementsByName("vCMB").Item(0)
select1.selectedIndex = 17
doc.getElementById("vTANTOPASS").Value = "sato"
doc.getElementById("BUTTON1").Click
end sub
セキュリティソフトの仕業のような気がしませんか?
book開いたとたん、ブラウザに値をセットしてクリックしてsendkeysするっていうのが、凄くウィルスっぽくて怪しまれている、という感じがします。
確実な根拠は無いですが、予想です。
あれ、ソース内に、Sendkeysがありませんが?
doc.getElementById("BUTTON1").Click の後にやるんですかね?
Workbook_Openでやってみましたが、結果は同じでした。
2015/10/28 17:20:30