|
▼にー さん:
こんにちは。
>いつも勉強させて頂いております。
>今回はフォルダを開く操作で質問があります。
>
>上司からマクロの作成を依頼され、おまけとして
>ネットワーク上の共有フォルダを呼び出す機能をユーザーフォームに
>組み込もうとしました。
>フォルダを開くソースは過去ログから頂きました。
>
>私の環境(WinXP+Excel2002)では以下のコードを利用して
>希望のフォルダを開くことが出来るのですが
>WinXP+Excel2003の環境で動作させるとエラーが出てしまいます。
Excel2003は、持ってないので確認できませんが、
私もExcel2000、2002で確認したところ
異常はありませんでした。
>エラーの内容は
>実行時エラー '-2147024843(80070035)':
>'Run'メソッドは失敗しました 'IWshShell3'オブジェクト
>
>ソースは
>Sub フォルダオープン(変数1 As String, 変数2 As String)
>'
> Dim objShell As Object, objFolder As Object
> Dim FSO As Object, WshShell As Object
> Dim FolN As String, SPath As String
>
> Set objShell = CreateObject("Shell.Application")
> FolN = "\\ネットワーク共有フォルダ\○○\" & 変数1 & "\" & 変数2
> Set FSO = CreateObject("Scripting.FileSystemObject")
> Set WshShell = CreateObject("WScript.Shell")
> SPath = FSO.GetFolder(FolN).ShortPath
WshShell.Run FolN, 3, False
' ↑ここにFolNを直接してしたらどうなりますか?
' 駄目もとで試してみて下さい
> Set FSO = Nothing: Set WshShell = Nothing
> Set objFolder = Nothing: Set objShell = Nothing
>End Sub
>
>ユーザーフォームから変数1、変数2を設定してパスを変化させています。
>過去ログや目安箱を見てみたのですが理解できませんでした。
他にも
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=17527;id=excel
このあたりのコードをリンク先ではファイル名を指定していますが、
フォルダ名でも可能なので変更して試してみて下さい。
|
|