• ベストアンサー

UserNameを取得したい

エクセル(2003)で Sub test() MsgBox Application.UserName End Sub と同じような意味をアクセスでも行いたいのですが どうゆうコードを書けばいいのでしょうか? 同じコードを貼り付けてみましたがだめでした。 なぜ同じオフィスなのにだめなのでしょう? アドバイスをお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

#1のお礼に関して そこまでやるなら 参考 Sub test() Dim exapp As Object Set exapp = CreateObject("Excel.Application") MsgBox exapp.Application.UserName End Sub をアクセスモジュールに入れて、実行すると、’エクセルでの)ユーザー名が出てきました。 前もって、参照設定でエクセルオブジェクトを設定はします。 ーー WEBには Sub test03() MsgBox "UserName = " & CreateObject("WScript.Network").UserName End Sub ガ載っていました。

wivea
質問者

お礼

どちらとも試してみたらできました! 大変参考になりました。ご回答ありがとうございます。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

http://www.officetanaka.net/excel/vba/tips/tips99.htm からですが、以下の様なことでしょうか? Sub Sample3() Dim Users, buf As String, i As Long Users = ActiveWorkbook.UserStatus For i = 1 To UBound(Users) buf = buf & Users(i, 1) & Chr(9) & Users(i, 2) & Chr(9) & Users(i, 3) & vbCrLf Next i MsgBox buf End Sub

wivea
質問者

補足

すいません。 初歩的な質問だとは思いますが 「ActiveWorkbook」が「変数が定義されていません」とコンパイルエラーになったので「参照設定」の「Microsoft Excel 11.0 ObjectLibrary」にチェックを入れました。 そしたら今度は「Users = ActiveWorkbook.UserStatus」で 「実行時エラー91 オブジェクト変数またはwithブロック変数が設定されていません。」 と言うエラーになってしまいます。 どうすればいいのでしょうか? 再度ご回答いただけると幸いです。 よろしくお願い致します。

関連するQ&A