• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA ネットワーク上のファイルでカレントフォルダを取得するには?)

VBAネットワーク上のファイルでカレントフォルダを取得する方法とは?

chibita_papaの回答

回答No.1

ネットワークドライブの割り当てをすれば ChDrive ChDir で何とかなりそうですが でなくで、ThisWorkbook.Path が ¥¥~ であれば、 Declare Function SetCurrentDirectory Lib "kernel32" _ Alias "SetCurrentDirectoryA" (ByVal CurrentDir As String) As Long Sub test() Debug.Print CurDir SetCurrentDirectory (ThisWorkbook.Path) Debug.Print CurDir End Sub しか方法は無さそうですね。

puma4646
質問者

お礼

お礼が遅れてすみません。 色々試したのですが方法が見つからず、今回はローカルにコピーして実行しました。 回答ありがとうございました。

puma4646
質問者

補足

説明が足らずすみません。 \\コンピュータ名 で始まるアドレスではなく、https://~で始まるWebファイルサーバー?なのです。。 この場合どうでしょうか?

関連するQ&A

  • Excel VBA カレントフォルダのひとつ上のフォルダを指定したい

    はじめて質問をさせていただきます。 ExcelのVBA初心者なのですが、既存のファイルに継ぎ足しで新規のファイルを作成しております関係上、カレントフォルダのひとつ上のフォルダを指定したいと考えております。 変数=thisworkbook.path のようにカレントフォルダの取得の仕方は分かったのですが、そこからひとつ上を指定する方法などはあるのでしょうか? よろしくお願いいたします。

  • VBAによるカレントフォルダのファイルを検索し開く

    カレントフォルダ内にファイル(コ―ド.xls)を見つけ開き、無ければMSG表示したい。 どのように、したらいいですか? 考えているのは、 Application.DefaultFilePath = ThisWorkbook.Path If ??? Then Workbooks.Open "コード.xls" else msgbox (ThisWorkbook.Path & "にコード.xlsを置いて下さい。") Exit sub end If です。 この???の部分を教えて頂きたいと思います。 よろしくお願いします。

  • 【Excel VBA】選択フォルダへの相対パス

    色々なサイトを参考に、Excel VBAにて以下の様なロジックを作りました。 -------------- Dim SHELL, MYPATH Dim TARGETDIR As String Set SHELL = CreateObject("Shell.Application") Set MYPATH = SHELL.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, ThisWorkbook.Path) If MYPATH Is Nothing Then End TARGETDIR = MYPATH.items.Item.Path Set SHELL = Nothing Set MYPATH = Nothing -------------- ブックのあるパス配下のフォルダを選択して、フルパスを"TARGETDIR"に格納します。 質問は2つです。 (1)"~.items.Item.Path"の構文の意味を教えて下さい。 (2)フルパスではなく"ブックのあるパスから見た、選択したフォルダへの相対パス"を知る方法を教えて下さい。 よろしくお願いします。

  • VBAでネットワーク上のバッチジョブを実行したい

    クライアントPCのVBAからサーバなどのネットワーク上のバッチジョブを実行するにはどのようにすればよいでしょうか?   Dim WshShell Set WshShell = CreateObject("WScript.Shell") WshShell.Run "\\サーバ名\AAAAA\BAT\TEST.bat", , True MsgBox "終了!" Set WshShell = Nothing 上記を参考にしたのですが、どうもうまくいかないのです。 何かが足りないのですか?

  • VBAエクセル・・・フォルダ名を取得する

    VBA初心者です。 マクロで、ヘッダー部分にフォルダ名を入力したいのですが、 どのように取得すればよいでしょうか? ThisWorkbook.Path にすると、パスが出てきますが、 \C:\***\△△△\○○○\XXX.xls だとすると、「○○○」だけを入力したいのですが・・・ よろしくお願いいたします。

  • カレントディレクトリの取得

    カレントディレクトリのファイルパスを取得したいのですが今ひとつ納得が出来ずに困っています。 現在は下記のようにやっていますがあまりに迂遠な気が… 定数か関数であっても良さそうなものですが見つけられませんでした。 ご助言をいただければ幸いです (_ _) $current_dir = explode('/', $_SERVER['PATH_TRANSLATED']); array_pop($current_dir); $current_dir = implode('/', $current_dir); if (empty($current_dir)) $current_dir = '/';

    • ベストアンサー
    • PHP
  • エクセルVBAで指定フォルダ内の選択ファイル名の取得

    お世話になります。 エクセルVBA昨日から始めた初心者です。 いま、 Private Sub CommandButton1_Click() Dim Shell, myPath Set Shell = CreateObject("Shell.Application") Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "\\hk001a24\va\data\ツール") If Not myPath Is Nothing Then MsgBox myPath.Items.Item.Path Set Shell = Nothing Set myPath = Nothing End Sub というの作成したのですが、 これだとフォルダの選択しか出来ませんでした。 \\hk001a24\va\data\ツールの下にあるファイルを選択出来て、その選択したファイル名をVBA取得して保持できる ようにしたいのですが・・・ 急いでいるのでここで質問させて頂きました。 よろしくお願いします。

  • VBScriptでCurrentDirectoryを変更する方法

    もともとのやりたいことは実行したスクリプトの相対パスでファイルを指定することです。 (スクリプトは複数の実行環境で実行するので絶対パスでは書きたくありません) ただし、ダブルクリックでも起動するし、別ファイルのD&Dでも起動するので 必然的に起動時のCurrentDirectoryが変化してしまいます。 これを固定化したいのです。 いまは固定化というか起動後に目的のディレクトリに移動することで実現させようと思っています。 とりあえず以下のコードを書きました。 Dim CurrentDirectory CurrentDirectory = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) -21) Dim oShell Set oShell = WScript.CreateObject ("WSCript.shell") oShell.run "cmd CD " + CurrentDirectory, 0, FALSE Set oShell = Nothing (2行目の「-21」はスクリプト名の長さを引いているだけです。あまり気にしないでください) が、これだと見た目はうまくいくのですがcmdプロセスが残ってしまい起動するたびに増えていきます。 それにそもそもスマートではない気がします 質問は以下です。 ・上記のコードを修正してcmdプロセスを残らないようにする方法 ・上記の方法以外でCurrentDirectoryを変更する方法 どちらでもかまいません。(両方だとなおうれしいです) よろしくお願いします。

  • [WSH] ファイルのコピーができない

    こんにちは。 次のようなスクリプトでFTPフォルダにファイルをコピーしようとしたのですが、カレントフォルダにファイルがコピーされてしまうようです。 どうすれば、FTPフォルダにファイルをコピーできるのでしょうか? var objShell = WScript.CreateObject("Shell.Application"); var objFolder = objShell.NameSpace("ftp://user:password@sitename/directory/"); objFolder.CopyHere("C:\\WINNT\\win.ini"); WScript.Sleep(6000); ※下記のページを参考にさせていただき作成しました。http://homepage3.nifty.com/aya_js/wsh/wsh25.htm

  • ExcelVBAでカレントディレクトリのファイルを開く方法は?

    ExcelVBAでファイルを開くとき、 Workbooks.OpenText Filename:="D:\DataDir\TestFile.txt" とフルパスを指定すれはファイルを開けますが、パス指定なしでカレントディレクトリ(VBAを起動したExcelファイルがあるディレクトリ)のファイルを開くためにはどうしたらいいんでしょうか? 教えてください。ちなみにExcel2000を使っています。