• 締切済み

エクセルで自分自身のWEBアドレスを取得するには

エクセルのBOOKをサーバ上に置いています。 このBOOKのマクロで、自分自身のWEBアドレス(ツールバーのWEBで表示されるアドレス)を取得するにはどのようなコードにあるのでしょうか? Thisworkbook.path だと、各自がつけたドライブ名(E:とかF:)でしか取れず\\で始まるサーバーのアドレスが取得できません。

みんなの回答

  • kawais070
  • ベストアンサー率52% (2242/4283)
回答No.1

http://support.microsoft.com/kb/192689/ja 上記のVBのサンプルが役に立つと思います。

merlionXX
質問者

お礼

ありがとうございます。 これはまた極端に大仕掛けなコードですね、驚きました。 こんな巨大なVBAをいれるなら、いっそパスがC:で始まらなければサーバーにあるとみなしてしまおうかと思い始めております・・・・。

merlionXX
質問者

補足

その後いろいろ検索し http://support.microsoft.com/kb/160529/ja を見て、以下のようにやっと取得出来るようになりました。 どういう理屈かはぜんぜんわかっていませんが・・・。 Declare Function WNetGetConnection32 Lib "MPR.DLL" Alias _ "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal _ lpszRemoteName As String, lSize As Long) As Long Dim lpszRemoteName As String Dim lSize As Long Sub GetNetPath() DriveLetter = UCase(Left(ThisWorkbook.Path, 2)) lpszRemoteName = lpszRemoteName & Space(255) lStatus& = WNetGetConnection32(DriveLetter, lpszRemoteName, 255) If lStatus& = 0 Then MsgBox "ネットワークドライブのUNCパス: " & lpszRemoteName, vbInformation, " ( ̄ー ̄)v " Else MsgBox DriveLetter & "ドライブはサーバーじゃないですね。", vbInformation, " а( ̄▽ ̄*) " End If End Sub

関連するQ&A