• ベストアンサー

【Access2000】LAN内にあるフォルダをブラウザで開くには?

 現在、Access2000でフォームにあるコマンドボタンをクリックするとブラウザが立ち上がり、LAN上にある指定したフォルダが開くようなモノを作成していますが思うようにいきません。  コマンドボタンに次のコードを記述したのですが、インターネット上のサイトは開くことができてもLAN上にあるファイルやフォルダを開く事ができず途方にくれています。  どなたかご存知の方がいらっしゃいましたら、是非、ご教示をお願いします。 <ソース> Private Sub コマンド1_Click() Const nu As String = vbNull Dim ret As Long Dim url As String url = "http://www.yahoo.co.jp/" ret = ShellExecute(0, "open", url, nu, nu, 0) End Sub *これでヤフーは開くことができますが、URLの所に「\\」で始まるLAN上にあるフォルダの場所を指定しても開くことができません。

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

回答は出てますが・・・ 最後の引数はウインドウの状態を指定します。 0 は SW_HIDE で非表示を指定しているので、 表示されないのが正常な状態だと思います。 URLの場合IEが表示されるみたいですが、 これの方が異常な状態かも。(^^; 通常は、1(SW_NORMAL)か、3(SW_MAXIMIZE)辺りを、 指定すれば良いと思います。 --------------------------------------------------- 上記で解決すれば蛇足ですが、 アプリケーションの関連付けによっては、 うまく開かない場合があるかもしれません。 第3引数はエクスプローラを指定して、 第4引数にurl(サーバのフォルダ名)の方が確実かも。 ret = ShellExecute(0, "open", "EXPLORER.EXE", url, nu, 1) --------------------------------------------------- 因みに、開くだけでいいなら、API関数を使うまでもなく、 下記でも大丈夫だと思います。 Shell "EXPLORER.EXE " & url, vbNormalFocus

marl1002
質問者

お礼

返信(お礼)が遅くなりスイマセン…汗 分かりやすい説明ありがとうございました! おかげ様でうまく進めることができています。 取り急ぎお礼まで。 ありがとうございました!

その他の回答 (1)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

詳しいことはわかりませんが ret = ShellExecute(0, "open", url, nu, nu, 1) としたら開きました。

marl1002
質問者

お礼

 ありがとうございます!  最後の引数はウィンドウの指定とは知りませんでした。  とても勉強になりました!

関連するQ&A

  • アクセスでテキストを開く

    アクセスでパスを指定して、特定のテキストファイルを開く方法を教えていただけますか? いかのモジュールを見つけたのですが、どこに、動かないか… フルパスを入れればよいか分かりません。 どうぞ宜しくお願いします。 *********************************************************************************************** Private Declare Function ShellExecute Lib "SHELL32.DLL" Alias "ShellExecuteA" (ByVal hwnd As Long, _ ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Sub コマンド0_Click() Dim strFilePath As String Dim lngRet As Long Const SW_SHOWNORMAL = 1 strFilePath = Me.txt_Path 'WinAPIを使って関連付けられたアプリケーションを起動 lngRet = ShellExecute(Application.hWndAccessApp, "OPEN", _ strFilePath, vbNullString, CurDir(), SW_SHOWNORMAL) If lngRet <= 32 Then '返り値が 32 以下の場合はエラー MsgBox "ファイルを開けません!", vbOKOnly + vbExclamation End If End Sub ***********************************************************************************************

  • エクセルVBA:perlで作成したexeが失敗する

    VBAプログラムで詰まってしまったので質問します。 perlにて自作したexeファイルをexcelのボタンから開きたいのですが、 実行の途中で止まってしまうようなのです。 止まってしまうexeファイルは、自分でダブルクリックして起動すると正常動作する為、 原因がわかりません。 'Declare Function ShellExecute Lib "shell32.dll" _ 'Alias "ShellExecuteA" ( _ 'ByVal hwnd As Long, _ 'ByVal lpOperation As String, _ 'ByVal lpFile As String, _ 'ByVal lpParameters As String, _ 'ByVal lpDirectory As String, _ 'ByVal nShowCmd As Long) As Long 'lRet = ShellExecute(0, "open", sPASS, vbNull, vbNull, SW_NORMAL) 'With CreateObject("Wscript.Shell") ' .Run "***********************", 5 'End With 'MsgBox "vbCrLf & CurDir & vbCrLf" 'Shell "**********************", 1 'With CreateObject("Wscript.Shell") ' .Run "..************", 5 'End With 'Dim ret As Long 'With CreateObject("Wscript.Shell") ' ret = .Run("*************", 7, True) 'End With 'If ret <> 0 Then MsgBox "失敗しました": Exit Sub 'Shell "*****************************" 'Dim WSH 'Set WSH = CreateObject("Wscript.Shell") 'WSH.Run "*************************", 3 'Set WSH = Nothing 'Dim file As Variant 'file = Application.GetOpenFilename 'file = "****************** " + file 'Shell (file) 'On Error GoTo errline 'ret = ShellExecute(0, "open", "***************", "", Path, 1) 'errline: 'Err = 0 'Dim ファイルのあるフォルダ As String 'Dim ファイルの名前 As String 'Dim プログラムのパス As String 'Dim 拡張子 As String 'ファイルのあるフォルダ = Worksheets("Sheet1").Cells(1, 1) 'ファイルの名前 = Worksheets("Sheet1").Cells(2, 1) 'プログラムのパス = Worksheets("Sheet1").Cells(3, 1) '拡張子 = Worksheets("Sheet1").Cells(4, 1) 'Dim ファイルのパス As String 'ファイルのパス = ファイルのあるフォルダ & "\" & ファイルの名前 & "." & 拡張子 'Dim AppFp As String 'AppFp = プログラムのパス & " """ & ファイルのパス & """" '前の""はスペース空ける '「"」が特殊文字であるため、スキップするための文字(エスケープ文字)「"」を前につける 'Dim a As Integer 'a = Shell(AppFp, vbNormalFocus) '上記プログラム全部× Const vbHide = 0 'ウィンドウを非表示 Const vbNormalFocus = 1 '通常のウィンドウ、かつ最前面のウィンドウ Const vbMinimizedFocus = 2 '最小化、かつ最前面のウィンドウ Const vbMaximizedFocus = 3 '最大化、かつ最前面のウィンドウ Const vbNormalNoFocus = 4 '通常のウィンドウ、ただし、最前面にはならない Const vbMinimizedNoFocus = 6 '最小化、ただし、最前面にはならない 'Dim objWShell 'Set objWShell = CreateObject("WScript.Shell") 'できたが×途中で終了している模様 'フォルダ「C:\happy」を開きます 'objWShell.Run "rundll32.exe url.dll" & _ ' ",**************", vbNormalFocus, False 'WScript.Echo "**********を実行しました!" 'Set objWShell = Nothing どうにかVBAから起動したいのですが、方法は無いでしょうか??

  • 配列を返り値、でエラー

    Excelで、ボタンが押されるとファンクションを呼び出し、 指定した文字列を文字列型の配列に格納して返す、 というマクロを作成したいのですが ―Sheet1―――――――――――― Private Sub btn_Click() Dim inpt(3) As String inpt = Module1.getArg() End Sub ―――――――――――――――― ―Module1――――――――――― Function getArg() As String() Dim ret(3) As String ret(0) = "1番目" ret(1) = "2番目" ret(2) = "3番目" getArg = ret End Function ―――――――――――――――― inpt = Module1.getArg() の部分で「配列には割り当てできません」とエラーが出てしまいます。 色々試してはみたのですが、どうも解決できません。 ヒントだけでも構いませんのでご助力お願いします。

  • access2000で作成のプログラムソースが2003で書き換わってしまう

    初めて質問させていただくバイク好きのおじさんです。 環境はOS:Windows7(Ultimate) ソフトウエア:Office2003(pro) ソフトウエア:Office2007(Ultimate) access2000で作成されたプログラムをaccess2003で今まで問題なく利用していたのですが、パソコンを変えてWindows7で利用するようになってから どのコマンドボタンをクリックしても 「イベント プロパティに指定した式 クリック時でエラーが発生しました:名前が適切ではありません:コマン_Click」というエラーで動かなくなってしまいました。 ビューモードでコマンド割り当てのソースをみてみると access2007(エラーが出ない方)抜粋では Private Sub コマンド5_Click() On Error GoTo Err_コマンド5_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "F_選手練習(メイン)" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド5_Click: Exit Sub Err_コマンド5_Click: MsgBox Err.Description Resume Exit_コマンド5_Click End Sub access2003 (エラーの起きる)抜粋では Private Sub コマン_Click() On Error GoTo Err_コマン_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "F_会員管理(参照用)" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマン_Click: Exit Sub Err_コマン_Click: MsgBox Err.Description Resume Exit_コマン_Click End Sub のようにソースのコマンドの割り当ての「 ド5 」が抜けてしまい、正しい方からコピーペースとしても内容が正しく書き換わりません。(全てのコマンドボタンの ド○ ) 対処法がさっぱりわからず困っております。 どなたか解決方法を知って見える方、アドバイスをいただけたらうれしいです。よろしくお願いいたします。

  • 定数の宣言ってdimは使えないのですか?

    VBAです。 標準モジュールに Option Explicit Public Const フォルダ名 As String = "新しいフォルダー" Sub aaaa() End Sub はできるのですが、 Option Explicit dim Const フォルダ名 As String = "新しいフォルダー" Sub aaaa() End Sub は、エラーになってしまいます。 Option Explicit Sub aaaa() dim Const フォルダ名 As String = "新しいフォルダー" End Sub もダメみたいです。 定数を使うときは、必ずPublicで宣言しなけらばいけないのでしょうか?

  • フォルダーの中に特定ファイルを開くの続きですが

    フォルダーの中に特定ファイルを開くの続きですが 次の命令を書きましたが実行できないです。間違った所を教えてほしいです 見積番号とはフォームの中のテキストボックスです。それをクリックする関連するエクセルファイルが開くようにしたいですのでよろしくお願いします。 Private Sub 見積番号_Click() Dim LngRet As Long Dim stLinkCriteria As String Dim Ipath As String Ipath = "\\C:\全社員共通\[見積書]\見積\" stLinkCriteria = Ipath & "\" & 見積番号 & "*.xls" LngRet = ShellExecute(0, vbNullString, Ipath & stLinkCriteria, _ vbNullString, vbNullString, 1) End Sub

  • アクセス フィールド名の変更

    フィールド名 [1],[2],・・・・を [090701],[090702],・・・ に変更するように Dim i As String Dim ret As String ret = InputBox("入力例  090701") i = ret DoCmd.RunSQL "SELECT [クエリ112].[1] AS [" & i & "], [クエリ112].[2] AS [" & i + 1 & "], ........中略 End Sub としましたが [090701],[90702],[90703],・・・ 2番目から 090702 になりません。 どのようにすればよいのか教えていただけませんか。

  • VBAでURLをブラウザで起動させたい

    現在、エクセルのVBAのフォーム上のコマンドボタンから、URLをブラウザで起動させたいと思っているのですが、うまくいきません。 インターネット上で以下のプログラムが紹介されていたので試したのですが hwnd の所でエラーとなってしまいます。 Option Explicit Private Declare Function ShellExecute Lib _ "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Private Sub cmdGO_Click() ShellExecute Me.hwnd, "Open", "http://www.goo.ne.jp/", _ vbNullString, App.Path, 1 End Sub また、エクセルのハイパーリンクを使って、あるセル上に事前に設定しておき、コマンドボタンをクリックした時にそのセルのハイパーリンクを起動させることにしました。しかしブラウザは起動するのですが、ブラウザを閉じるとエクセルの画面が最小化されています。(最大化しようとして右クリックしてもなにも出てきません)同じエクセルファイルをダブルクリックするとやっとエクセルが画面表示されます。 ブラウザを閉じた時に画面上にエクセル画面を表示させたいのですがどのようにすれば良いのでしょう。分かる方が見えましたら宜しくお願いします。 このプログラムは以下のように作成しました Private Sub CommandButton3_Click()   Worksheets("データ").Select Range("J18").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True Application.WindowState = xlNormal End Sub ソフトは EXCEL2000です

  • ショートカットをブラウザに表示させたい

    ブラウザにhttp://www.yahoo.co.jp/を表示させて ヤフーのアイコンをデスクトップにグイって持って行けば デスクトップにヤフーのショートカットが出来ますが このショートカットファイルをVBAで開くことは可能ですか? ショートカット名は「Yahoo! JAPAN」となっています。 Sub sample() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "Yahoo! JAPAN" Set objIE = Nothing End Sub と言うように立ち上げられたらと思うのですが ショートカットのURLを読み取る方法はありますか? Sub sample() Dim ファイル名 As String ファイル名 = "C:\Documents and Settings\◎◎\デスクトップ\Yahoo! JAPAN" CreateObject("Shell.Application").ShellExecute ファイル名 End Sub こっちの方法では、「見つかりません」 と言うエラーになってしまいました。 今回の例題はヤフーだからわかりやすいのですが 実はフォルダに色々なサイトのショートカットを貯めており、 それをVBAで開けたら便利だなと思っています。 お気に入りフォルダみたいな感じになっています。

  • AccessVBA ShellExecuteAについて質問です。

    AccessVBA ShellExecuteAについて質問です。 下記コードでボタンをクリックすると、画像を入れ替える処理を与えています。 Private Sub View1_Click() With Me Dim ePASS As String sPASS = 画像のフルパス lRet = ShellExecute(0, "open", sPASS, vbNull, vbNull, SW_NORMAL) End With End Sub 'APIの定義 Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long 上記コードが自分のマシンでは起動するのですが、他のマシンでは起動しません。 Accessは両マシン共に、2000です。 ビューワはWindowsPicture and Fax ビューワです。 原因究明のアドバイスよろしくお願いします。 出来ればソースもあるとありがたいです。

専門家に質問してみよう