人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

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

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


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

●質問者: greenblat
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

質問者から

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





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


1 ● SweetSmile1978
●100ポイント

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


greenblatさんのコメント
Workbook_Openでやってみましたが、結果は同じでした。

2 ● neuromancer_sho
●100ポイント

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


neuromancer_shoさんのコメント
あれ、ソース内に、Sendkeysがありませんが? doc.getElementById("BUTTON1").Click の後にやるんですかね?
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ