- ベストアンサー
エクセルでのVBA
エクセルでVBAを使ってIEで指定のURLを開いて、VBAで指定したWEBフォームにエクセルで指定したセルの値を入力したいのですが、下記のコードを入れるとエラーが出てしまいます。 A1:1-1 or 1-2 or 1-3 B1:月曜日 C1:火曜日 D1:水曜日 上のA1~D1まで入力した上でコマンドボタンをクリックすると、自動的に行うようにしたいです。 Private Sub CommandButton1_Click() Dim objie As Object Set objie = CreateObject("InternetExplorer.application") objie.Visible = True objie.Navigate "http://●●●●/form.html" Dim kubun As String kubun = range("A1") Select Case kubun Case "1-1" call ma1_1 Case "1-2" call ma1_2 Case "1-3" call ma1_3 End select Set objie = Nothing End sub Sub ma1_1() objie.Document.all.form1_1.Value = Range("B1") End Sub Sub ma1_2() objie.Document.all.form1_1.Value = Range("B1") objie.Document.all.form1_2.Value = Range("C1") End Sub Sub ma1_3() objie.Document.all.form1_1.Value = Range("B1") objie.Document.all.form1_2.Value = Range("C1") objie.Document.all.form1_3.Value = Range("D1") End Sub これで実行を押すと、objie 変数が定義されていません。と出てしまいます。このobjieを有効にするにはどうしたよいのでしょうか? わかる方いましたらご教授願います。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
objieがCommandButton1_Click()関数内でしか定義されていないのに 他の関数で呼び出せるわけがありません。 Private objie As Object Private Sub CommandButton1_Click() みたいな感じにプロージャの外に出して使いまわすとか ma1_1(ByRef objie as Object) みたいな感じに引数として扱うようにすればいいんじゃないでしょうか。
その他の回答 (2)
- rivoisu
- ベストアンサー率36% (97/264)
キーワード 変数のスコープ で調べましょう。
- cistronezk
- ベストアンサー率38% (120/309)
エラーの原因についてはこちらを参考にしてください。 http://pc.nikkeibp.co.jp/pc21/special/2007_gosa/eg5.shtml
お礼
ありがとうございました。
お礼
無事解決しました。 ありがとうございました。