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回まで
  • 13歳以上
  • 登録:2015/10/27 21:25:40
  • 終了:2015/11/03 21:30:04
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

SweetSmile1978回答回数189ベストアンサー獲得回数292015/10/28 09:37:46

ポイント100pt

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

id:greenblat

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

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

neuromancer_sho回答回数28ベストアンサー獲得回数32015/10/28 17:39:48

ポイント100pt

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

id:neuromancer_sho

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

2015/10/28 17:44:55

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません