グッドデザイン賞を受賞したウォーターサーバー >>

ネットワークドライブZ:に、
\\my_serv\files\docment\project1\1st_meeting
を割り当てているとして、
Z:\hoge.xlsのフルパスを
\\my_serv\files\docment\project1\1st_meeting\hoge.xlsと取得する
方法orソフトを教えてください。


ところが、社員によってZ:が「\\my_serv」だったり、「\\my_serv\files\docment」
だったりと不統一なので、メールでパスを示す際など
file:///\\my_serv\files\docment\project1\1st_meeting\hoge.xls
などと示さなければなりません。

なので、いつも
マイネットワーク→ネットワーク全体→Microsoft Windows Network→
ドメイン名→my_serv...(以下略)と、たどって、
「\\my_serv\files\docment\project1\1st_meeting」という文字列を
エキスプローラのアドレスバーから拾っています。

FileVisorや、ClipNameなどフルパスは取得できるソフトはいくつかありますが、
Z:\hoge.xls と取得されてしまいます。

A 回答 (1件)

面白そうなので今、試してみたのですが


コンピュータの管理 でファイルサーバーにログインすると共有フォルダ|共有に絶対パスが表示されます。

PC名とこの文字列から絶対パスになりますね。
APIを調べればプログラムで作れそうですが取り急ぎご報告まで。
    • good
    • 0
この回答へのお礼

面白いアプローチですね。
APIがわかったら
Vectorとかに是非公開してください!

ご教示ありがとうございました。

お礼日時:2006/08/18 20:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWindowsでファイルのフルパスを簡単に取得する方法

Windowsでファイルのフルパスを簡単に取得する方法

こんにちは。

Windowsでファイルのフルパスを簡単に取得する方法はありますでしょうか?

たとえば、

C:\Windows\Downloaded Program Files\FP_AX_CAB_INSTALLER.exe

をメールに転記(ペースト)したい場合、
(1)エクスプローラのフォルダのアドレスをコピーして、
(2)F2キーを押してファイル名を変更の状態にして、その名前をコピー
という手順でやっています。

これを簡単に実現したいのですが、フリーソフトか、Windows標準の機能であれば
教えて頂けますでしょうか。

OSはWindows XPと、Windows7の両方です。

すみませんが、よろしくお願いします。

Aベストアンサー

複数ファイルに対して行うことが多いので
フルパス取得くん
http://lnsoft.net/utility1.htm#fullpathkun
を使っています。
ただ、いったん別ウインドウ表示になり、クリップボードに直接コピーするわけではないので、手間を考えると
○ファイルパス取得ツール
http://www.vector.co.jp/soft/winnt/util/se449932.html
がいいかもしれません。
Windows7でも動作するようです。

Q会社の共有フォルダのIPアドレスを表示する方法

会社のサーバーの中にある共有フォルダのIPアドレスを調べるには、どうすればよいでしょうか?

よろしくお願いいたします。

Aベストアンサー

> 「サーバでコマンドプロンプトを開き」とのことですが、どのような操作をするとそれが可能か教えてい
> ただけないでしょうか。

サーバで直接操作してください。

エクスプローラの左ツリービューからネットワークを選択すれば出てくるかもしれませんし、
もしくは、こういったLAN内のコンピュータを検索するようなツールを利用すれば出てくるかもしれませんが、
どれがサーバにあたるかは、コンピュータ名も分からないようでは判断つかないのでは。

Q【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く

Windows XP
Office2003

エクセルVBAにて、ネットワーク上にある共有フォルダ内のエクセルブックを開くコーディングを教えていただけますでしょうか?

開きたいブック:\\共有サーバー\共有\TEST.xls

よろしくお願いします。

Aベストアンサー

Workbooks.Open fileName:="\\共有サーバー\共有\TEST.xls"

http://www.bokuno.biz/program/vba/reference/Workbooks.html
http://officetanaka.net/excel/vba/file/file05.htm
http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page1.htm

Qフォルダのアドレバーにフルパスを表示させる方法

WindowsXPのようにフォルダのアドレスバーには常に C:\Program Files\Internet Explorer のように表示させる方法を教えて下さい。
Windows7のような コンピューター>ローカルディスク(C:)>Program Files>Internet Explorer という表示ではなく。
Windows7でもアドレス表示部分をクリックするとXPのような表示になりますが、そうではなくクリックしなくても常にXPのようなフルパス表示にさせたいです。

Aベストアンサー

既知のテーマとして、vistaの時から同じ質問がありますが、クリックしなくても常にXPのようなフルパス表示は、Win7の機能にはありません。
---
質問からは外れますが、来年発売予定のWin8にもありません。
私はClassic Shell(フリーソフト)を使用しています。
私の目的はフルパス表示ではなく、Win8でWin7のスタートメニューを使いたかったのですが、
Classic Shell付録として、フルパス表示が付いていました。
Win8だけでなくてWin7、Vistaでも使用できます。
なお、添付画像はWin8のエクスプローラです。
クリックなどしなくても、常にXPのようなフルパス表示にさせることができています。
もちろん、本来のWin8、Win7、Vistaのエクスプローラ表示に戻すこともできます。

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

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

VBA超初心者でネットで色々調べて、ところどころコピーしながらプログラムを作っています。
ローカルのPCでは問題なく動くまでになったのですが、実際にはネットワーク上の共有サーバで実行したいのですが、ネットワーク上ではカレントパスがうまく設定できていないようで、動きません。

CreateObject("WScript.Shell").CurrentDirectory = ThisWorkbook.Path

というコードでVBAが置いてあるフォルダをカレントディレクトリに設定するようにしています。

どのようにしたらネットワークサーバで動くようになりますか?

Aベストアンサー

WebDAVの環境がないため、関連のありそうな情報をあたってみました。
もしかすると、OSの機能で制限されているかもしれません。

http://heipooh.jugem.jp/?eid=56

VBAではなく、直接手動操作で設定した時にはどうでしょうか?
できないとなると、何らかの環境設定が必要なのではないでしょうか?
上記URLの操作では、エクスプローラからネットワークドライブとして認識させています。

EXCELの機能については、下記URLの「カレントドライブとカレントフォルダ」をご参照ください。
http://officetanaka.net/excel/vba/tips/tips91.htm

現状のネットワーク構成ですと、カレントディレクトリの前に、カレントドライブを認識し得る環境がないと推察されます。

取得する方法について、他もあたってみて、情報が見つかりましたら投稿致します。

Qエクセル マクロで指定フォルダを開く

エクセルにて
指定フォルダを開く、マクロがあれば教えて頂けないでしょうか。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

こういうものですか?
開くフォルダを変えたいときは targ に与えるパスを変更します。

Sub OpenFolders()
Dim targ As String
targ = "C:\"
Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus
End Sub

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QDOSコマンドで共有ファイルへアクセスを行う際のパスの書き方

初めまして。

本題になります・・・

DOSコマンドで共有ファイルのアクセスを行う際のパスの書き方は、
「\\サーバー名\共有フォルダ名\ファイル名」ですが、DIRなどを行うと、認証が走って、ファイルへのアクセスが出来ません・・・全てDOSコマンド(バッチ)で完結したいのですが・・・
例えば、「dir \\サーバー名\共有フォルダ名\ファイル名」とした場合に、「ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。」と表示されてしまいます。
現在行いたい処理は、他サーバーの「共有ファイルのコピー&削除」、「共有フォルダの作成」です。

【環境】
コマンド実行させるサーバー:[WIN2KSEVER(admini権限/パスワード共通)]
他サーバー:[WIN2KSERVER(admini権限/パスワード共通)]

解決する方法がありましたら、お教え下さい。
お願いします。

Aベストアンサー

実際に試してみました。

net use \\サーバー名 パスワード /user:ユーザー名
dir \\サーバー名\共有フォルダ名\ファイル名

でいけました。

QVBAでネットワークコンピュータのファイルにアクセスできない(XL2000)

EXCEL2000で、EXCELのファイルと、データ専用のファイルを組にして運用しています。都度データファイルのバックアップを取るために、VBA中でネットワークコンピュータ(LAN)のフォルダにFileCopyしようとするのですが、ファイルが見つからないというエラーが出て、コピー出来ません。しかし、エクスプローラーで一回ネットワークフォルダーを開いてから終了し、再度VBAを実行すると問題なくコピー出来ます(何か道筋が出来るらしい)。
また、WEBで調べてAPIのCopyFileを用いると良いという記事をみて、トライしましたが事態は同じでした。なお、過去の類似の質問で、WindowsXPの場合のMicrosoftの情報が紹介されていましたが、本ケースでは両方のPCともWindows98です。
以上、宜しくお願いします。

Aベストアンサー

こんにちは。様子が見えてきましたね。
パスワードの件、おそらく他に正解があると思いますが、
ネットワークドライブを割当てるのが手っ取り早いかと。

Dim FS, WshNet
Const strDrive = "Z:"

Set FS = CreateObject("Scripting.FileSystemObject")
Set WshNet = CreateObject("WScript.Network")

If Not FS.DriveExists(strDrive) Then
WshNet.MapNetworkDrive strDrive, "\\コピー先PC\コピー先フォルダ", False, , "パスワード"
End If
FS.CopyFile "コピー元パス", strDrive & "\", True

Set WshNet = Nothing
Set FS = Nothing


です。
ドライブ割当ては、

WshNet.MapNetworkDrive "ドライブレター", "割当てパス", False, "ユーザ名", "パスワード"

の部分で、False を True にすると、起動時に再接続します。
また、WinMe で確認しましたがユーザ名は省略できるようです。

ファイルのコピーに FileSystemObject を使っているようなので大丈夫とは思いますが、
念のため、実行する端末には最新の Win98 用 スクリプトランタイムを入れてください。

下記からダウンロードできます。

参考URL:http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=E74494D3-C4E1-4E18-9C6C-0EA28C9A5D9D

こんにちは。様子が見えてきましたね。
パスワードの件、おそらく他に正解があると思いますが、
ネットワークドライブを割当てるのが手っ取り早いかと。

Dim FS, WshNet
Const strDrive = "Z:"

Set FS = CreateObject("Scripting.FileSystemObject")
Set WshNet = CreateObject("WScript.Network")

If Not FS.DriveExists(strDrive) Then
WshNet.MapNetworkDrive strDrive, "\\コピー先PC\コピー先フォルダ", False, , "パスワード"
End If
FS.CopyFile "コピー元パス", strDrive & "\", True...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング