Excelのvbaマクロについて質問です。


Auto openの処理でIEを起動し操作しようとしているのですが
添付画像の起動中の画面が出たままでExcelの画面はずっとあらわれず
そのうち、起動中の画面のまま、Auto openのマクロが作動して
IEが立ち上がり進行していくのですが
ダウンロードで「~を開くか、または保存しますか?」
の所で、Sendkeysで保存をしたいのですがSendkeyの命令が
届かないようで、そこで処理が止まってしまいます。

ちなみに、Auto openを使わずに、
普通にそのExcelファイルを立ち上げた後に
Auto openの中の処理を行うと普通にSendkeyの処理が出来ています。

どうしてAuto openからだとうまくいかないのでしょうか?

(Excelが起動中の画面のままだというのがどうも変な感じですよね)

なにかいい方法があれば教えて下さい!


環境は、
Excel2013、IE10、Windows7(32bit) です。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/11/03 21:30:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
id:greenblat

ソースコードは以下のようになります





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

回答2件)

id:SweetSmile1978 No.1

回答回数199ベストアンサー獲得回数31

ポイント100pt

専用の Excelファイルを作って、
Workbook_Open を利用してはどうでしょうか

id:greenblat

Workbook_Openでやってみましたが、結果は同じでした。

2015/10/28 17:20:30
id:neuromancer_sho No.2

回答回数28ベストアンサー獲得回数3

ポイント100pt

セキュリティソフトの仕業のような気がしませんか?
book開いたとたん、ブラウザに値をセットしてクリックしてsendkeysするっていうのが、凄くウィルスっぽくて怪しまれている、という感じがします。
確実な根拠は無いですが、予想です。

id:neuromancer_sho

あれ、ソース内に、Sendkeysがありませんが?
doc.getElementById("BUTTON1").Click の後にやるんですかね?

2015/10/28 17:44:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません