• 締切済み

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

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

みんなの回答

  • kawais070
  • ベストアンサー率52% (2242/4282)
回答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

  • エクセル ツールバーからの呼び出しマクロのシート非表示 

    他部署から受け取った一覧表の内容をチェックするエクセルマクロをツールバーのボタンに割り当てていますが、一覧表を開いておいてボタンを押すとマクロを組み込んだエクセルシート(VBA上でのThisWorkbook.Sheet)が表示されるようになりました。以前は一覧表の裏に隠れていたはずなんですが、目障りなのでこのシートを表示しない方法を教えてください。複数体制なので共有ドライブに置いたエクセルマクロを各自が自分のツールバーに組み込んで使っています。 (アドインでは修正発生時に各自が再度取り込む必要があると思って避けています)

  • LBoundでフォルダ名を取得したい。

    マクロで、フォルダ名を取得したいのですが、 どのように取得すればよいでしょうか? ThisWorkbook.Pathでパスを取得して \C:\***\△△△\○○○\XXX.xls だとすると、「△△△」だけを入力したいのです。 「△△△」は必ずCドライブから2階層下に あります。 パス名 = ThisWorkbook.Path tmp = Split(パス名, "\") MsgBox tmp(LBound(tmp)) としたところ「D」とうドライブ名が取得できたので MsgBox tmp(LBound(tmp,2))としてみたのですが、うまく 「△△△」の部分が取得できません。 よろしくお願いいたします。

  • EXcelのマクロで相対パスでファイルを開く

    Excelでマクロを使って他のブックを開こうとしています。 同じフォルダ内のブックを開くには Workbooks.Open Filename:=ThisWorkbook.Path & "\ブック名.xls" で開く事が出来たのですが、一つ上の階層にあるブックを開きたいときはどのようなコマンドを使えば良いのでしょうか?? お教え下さい。

  • Excelのブックを閉じる

    お世話になります。 Excel処理について質問です。 今、サーバで常にマクロが動き続けているExcelファイル(ファイルAとします)があります。 今回はそのファイルを閉じ、マクロにてシートの更新をしたのち、また開きなおしてマクロを実行させたいです。 方法としては、 1.C#から閉じて更新して開く処理を行う。 2.別のブックにファイルAを閉じる処理を行うマクロを仕込んでおき、 C#からはそのファイルを開くだけ。 が考えられると思っています。 どちらの方法でも良いので、コードの例を書いていただけないでしょうか。 ちなみに、自分の現状のコードは以下です。 (アラート非表示) for each wb in Workbooks if wb.Name <> ThisWorkbook.Name then wb.Close SaveChanges:=false end if next Application ThisWorkbook.Close SaveChanges:=false これでは、異なるブックのExcelファイルであっても、ウィンドウが分かれ てしまっていては、削除の対象になりません。 どなたか、宜しくお願いします。

  • サーバーに保存したエクセルファイルでChDrive、ChDirがエラーになる

    ひとつのフォルダにエクセルブックを6個置います、日常のデータ入力をする、メインのブックに 他ブックをオープンするコードを、以下のように書いています。 Sub 他ブックオープン1() Application.ScreenUpdating = False ChDrive ThisWorkbook.Path ChDir ThisWorkbook.Path ブック名 = "○○.xls" For Each myBook In Workbooks If myBook.Name = ブック名 Then Workbooks("○○.xls").Activate Exit Sub End If Next Workbooks.Open ("○○.xls") Application.ScreenUpdating = True End Sub この、フォルダをサーバーに置いて、クライアントのパソコンから 上記コードを実行すると、実行時エラー "プロシージャの呼び出し、または引数が不正ですとなり、うまく 行きません、デバッグ画面でChDrive,ChDir に示される、アドレスを みると、正しく\\○○サーバー\...と表示されます、どうしてこの アドレスを認識しているのに、エラーが出るのかわかりません どなたか宜しくご教示願います。

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

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

  • エクセルのwebクエリについて

    A1に銘柄コード(4桁の数字)が入力されている場合、 B1以下にデータを取得するマクロを作りたいと考えています。 webクエリ機能を使えばデータを取得できるのはわかったのですが、 マクロのコードにA1の数値を参照させる方法がわかりません。 当方の環境は Windows XP Excel 2007 です。 どうか皆様よろしくお願い致します。

  • エクセルで、webツールバーが表示されてしまいます

    こんにちわ いつもお世話になります。 エクセルでハイパーリンク関数を使用しましたら、 どのブックを開いてもwebツールバーが表示されるようになってしまいました。 webツールバーの右端の×で消しても良いのですが、いちいちそうするのも面倒です。 しかも、このツールバー少し大きめなのでうっとおしいのです。 どうすればいちいち表示されなくなるのでしょうか? 教えていただけませんか?

  • VBAで別プロセスのExcelのフルパスの取得

    いつもお世話になります。 Excel VBAで別プロセスで起動しているExcelブックのフルパスの取得方法を教えて頂けないでしょうか。 前提としては、ファイル自体はローカル環境に保存されているが、どこに保存されているかは分からない、というものになります。 別プロセスの場合はあらかじめフルパスが分かっていれば取得できるといったものはあったのですが、それをそもそも取得したいというのは見つけることができませんでした。 そもそもやりたいのは、プロセスが同じ、別であるに関わらず、起動している全てのExcelブックに対して、マクロを実行したいのですが、フルパスが分かれば処理を行うことができると考え、このような質問をするに至りました。 使用しているExcelは2003になります。 宜しくお願いします。

  • Excel での、App.path の取得について

    Excel のマクロ上で、App.path を取得したいのですが、 なにか、手段はありますでしょうか? よろしく御願いいたします。

専門家に質問してみよう