• ベストアンサー

VBAで指定したパスが存在しなければ、アラートを表示させずにExit Subの処理をしたい

Sub s() Set IE = CreateObject("InternetExplorer.Application") IE.Navigate ("X:") End Sub 上記のVBAを実行するとXドライブがなければ 「'file:///X:' が見つかりません。パスまたはインターネットアドレスが正しいかどうかを確認してください。」と表示されます。 指定したパスが存在しなければ、このメッセージを表示させずにExit Subの処理をするようにするにはどうすればよいのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 インターネット共用となると、以下のコードでは中途半端になりますが、以下のように区分けは出来ます。 '---------------------------   Dim fso As Object   Dim objIE As Object   Dim flg As Boolean   Const mDrive As String = "C:"   If InStr(1, mDrive, "HTTP://", vbTextCompare) = 0 Then     Set fso = CreateObject("Scripting.FileSystemObject")     flg = fso.DriveExists(mDrive)     If flg Then       Set objIE = CreateObject("InternetExplorer.Application")       objIE.Navigate mDrive     End If     Set fso = Nothing     Set objIE = Nothing   End If '---------------------------

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

WEBを照会して、色々寄せ集めで作ってみました。 下記で参考になりますか。 Sub test01() Dim objTAG Dim URL As String, IE As Object Set IE = CreateObject("InternetExplorer.Application") URL = "http://www.officetaneaka.net" With IE .Navigate (URL) '.Visible = True While .Busy Or .ReadyState <> 4 DoEvents Wend End With For Each objTAG In IE.Document.all p = InStr(objTAG.InnerText, "Internet Explorer ではこのページは表示できません") If p <> 0 Then MsgBox "このURLは開けません" GoTo p01 End If Next IE.Visible = True p01: Set IE = Nothing End Sub 前半はありふれたコードです。 officetanakaをofficetaneakaに間違えた場合の例です。 またURLをofficetanakaに修正してやってみてください。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

ANO.1です 申し訳ありません 多分大丈夫だろうと回答しましたが IEのエラーがでてしまいます 忘れてください

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

Sub s() On Error GoTo ErrorHandler Set IE = CreateObject("InternetExplorer.Application") IE.Navigate ("X:") ErrorHandler: End Sub こんな感じでしょうか

関連するQ&A

  • vbaでIEを閉じるだけの処理

    オフィス2003を使用しています。 「IEを開いて閉じる」は Sub TEST() Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True '見えるようにする '文字列で指定したURLに飛ぶ ObjIE.navigate "http://www.yahoo.co.jp/index.html" '表示終了まで待つ Do While ObjIE.Busy = True DoEvents Loop ObjIE.Quit End Sub と言うことがわかったのですが 開くのは他の作業をしたときに行うので 「閉じる」だけをvbaで行いたいのですがどうすればいいのかわかりません。 Sub TEST2() Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True '見えるようにする ObjIE.Quit End Sub だと また新たなIEが起動してしまい「現在起動しているIEを閉じる」と言うことができません。 アドバイスをお願い致します。

  • Excel VBA IEの終了方法は?

    お世話になっています。 検索しましたが判らなかったので質問します。 VBAでIEを起動します。 Sub IE起動() Set IE = CreateObject("internetExplorer.application") IE.Visible = True IE.navigate ("http://www.goo.ne.jp") End Sub ここまでは出来ました。 --<質問内容>------ では、IEを終了するには?

  • VBA IE読み込み出来ないときの処理

    エクセルVBAで IE読み込み完了まで、というサンプルは有るのですが 時間来ても、読み込め無い時 中止の処理ですが、 下記で如何でしょうか(実験が出来ないので、お知恵拝借) さらに、もっと、スマートな方法が有ればご教示ください。 Set IE = CreateObject("internetExplorer.application") url = yobiurl ' "http://admin.blog.fc2.com/control.php?mode=editor&process=new" With IE .Navigate url .Visible = True i = 1 Do While .Busy = True Call Sleep(50) '0.05sec * 400 =20秒 DoEvents i = i + 1 If i > 399 Then .Quit ' End With Set IE = Nothing Exit Sub End If Loop i = 1 Do While .document.ReadyState <> "complete" Call Sleep(50) DoEvents i = i + 1 If i > 399 Then .Quit ' End With Set IE = Nothing Exit Sub End If Loop

  • 複数のタブを開きたい IE

    IE9を使っています。 画像のようにタブを二つ開くにはどうすればいいでしょうか? Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub だと一つのタブしか開けません。 Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate2 "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても1つのタブしか開けないです。 ご回答よろしくお願いします。

  • VBAでyahooをログアウトしたい

    VBAでyahooにログインすることはできたのですが、 VBAでログアウトしたいです。 Sub yahoo() Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" ログアウトするコード ・ ・ ・ End Sub   まではわかりました。自分なりには頑張りました。 IE9を使ってるのですが そもそもソースの見方がわかりません。 ご教授よろしくお願いします。

  • ie 64bit 32bit どちらが開いてる?

    Sub Sample() Dim objIE As InternetExplorer Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.Navigate "http://www.yahoo.co.jp/" Set ObjIE = Nothing End Sub で、vbaからieを開いた場合、64bit 32bitのどちらで開かれるのでしょうか? 私の環境はwin7、IE9です。

  • IEではなくファイアフォックスを指定することは

    VBAでブラウザを開く場合、 IEではなくファイアフォックスを指定することは可能ですか? 既定のブラウザはIEにしています。 Sub test1() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://www.ocn.ne.jp/" objIE.Visible = True Set objIE = Nothing End Sub の Set objIE = CreateObject("InternetExplorer.Application") の部分を Set objIE = CreateObject("firefox.exe") に変えてみたら、 【ActiveX コンポーネントはオブジェクトを作成できません。(Error 429)】 になりました。

  • Exit Subでコードを抜け出したい

    If textbox.value "" Then X1 = textbox.Value For i = 1 To 100 X2 = ws.Cells(i, 1).Value If X1 = X2 Then Holder = i Exit For End If If X1 <= X2 Then Holder = i Exit For End If Next i End If 上記のようなコードがあります。textboxというテキストボックスの中の文字列とExcelのセルの文字列を比較して処理を行いたいと思っています。X1=X2、もしくはX1 <=X2の時ループを抜けます。 これに追加して、X1=X2、X1<=X2以外にこれにあてはまらない文字列がある場合は処理を中止してexit subをしたいと思っています。 わからないのは、ExcelのセルのA列から100行を検索して、その結果上記の二つの条件を満たさない場合は"データがありません"でexit subをしたいと思っています。どこにexit subで抜けるようなコードを追加すればよいでしょうか?

  • VBAでIE操作をするサンプル

    VBAでIE操作をするサンプルをネットでいくつか見ているのですが Sub Sample1() Dim objShell As Object Dim objIE As New InternetExplorer Set objShell = CreateObject("Shell.Application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing Set objShell = Nothing End Sub Sub Sample2() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub ではどちらを使った方がいいのでしょうか? 圧倒的にSample2の方がネットでは多いのですが Sample1のやり方もあることを知りました。 Sample1の方法でブラウザを開くメリットはあるのでしょうか?

  • ExcelのVBAでHTMLのソースのタグの部分を小文字で取得したい

    HTMLのソースコードを取得する下記のVBAを実行すると タグの部分が大文字(<H1>等)になってしまいます。 どうすれば小文字のタグのまま取得することが出来るのでしょうか? 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 ご存知の方がおられましたらご回答をよろしくお願いします。 Sub sample() Set IE = CreateObject("InternetExplorer.Application") IE.Navigate ("http://www.yahoo.co.jp/") While IE.busy: Wend While IE.Document.readyState <> "complete": Wend HTML = IE.Document.body.innerHTML MsgBox HTML IE.Quit End Sub

専門家に質問してみよう