• ベストアンサー

UserNameを取得したい

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • アクセス 自身のデータベース名を取得するのは「CurrentDatabase」ではない?

    Sub test() MsgBox CurrentDatabase End Sub を実行すると 「変数が定義されていません。」となってしまいます。 エクセルで言う MsgBox ActiveWorkbook.Name を行ないたいのですがどんなコードを書けばいいのでしょうか? よろしくお願いします。

  • フルパスを取得するにはどうすればいいですか

    access2003です 自身のファイル名を取得するのは Sub test() MsgBox CurrentProject.Name End Sub で出来ますが フルパスを取得するにはどうすればいいですか? よろしくお願い致します。

  • アクセスからエクセルファイルを全て閉じたい

    アクセスからエクセルファイルを全て閉じるにはどうすればいいでしょう?(保存して閉じたいです) エクセルファイルは名前やファイル数はランダムです。 アクセスの標準モジュールに Sub Test1() Dim ExcelApp As Object Set ExcelApp = CreateObject("Excel.Application") ExcelApp.Application.Visible = False Set ExcelApp = Nothing End Sub と書きました。 このあいだにコードをいれるのですが 思いつきません。 まず数を取得して 一つ一つ保存→閉じるかな?と思い MsgBox ExcelApp.Worksheet.Count を入れてみましたが エラーになりました。 オフィスのバージョンは2003です。 ご教授よろしくお願い致します。

  • チェックボックスにチェックが付いているかを取得したい

    ACCESS2003を使用しています。 チェックボックスにチェックが付いているかを取得したいのですが下のコードを実行すると 「実行時エラー'94' Nullの使い方が不正です。」 というエラーになってしまいます。 Sub test() MsgBox Form_フォーム1.チェック0.Value End Sub フォームを開くとチェックボックスが図のように灰色になるのですがこれが原因なのでしょうか? ちなみに同じことをエクセルで行なったら問題なくできました。 よろしくお願い致します。

  • アクセスvbaでフリガナを取得したいのですが

    Sub tset() MsgBox Application.GetPhonetic("東京") End Sub だとエラーになってしまいます。 エクセルでは問題なく使えます。 どうやら、 GetPhoneticは、エクセルのみで使用できるメソッドのようです。 なのでググってみたら https://foolexp.wordpress.com/2012/07/14/p2wpsu-4l/ がヒットしたのですが、 作者には申し訳ないのですが、 もうちょっとスマートなコードはないのでしょうか? エクセルオブジェクトを作ってやる方法があると思うのですが コードがわかりません。

  • 元のプロシージャーを取得するプロパティ

    Sub test1() Call test2 End Sub Sub test2() If ?? Then MsgBox "test1から実行されたマクロです。" End If End Sub 上記のコードで どこから実行されたプロシージャ化を取得する方法はありますか? 現在は、 Dim bl_test1_yes As Boolean Sub test1() bl_test1_yes = True Call test2(bl_test1_yes) End Sub Sub test2(bl_test1_yes) If bl_test1_yes = True Then MsgBox "test1から実行されたマクロです。" End If End Sub としていますが、 元のプロシージャーを取得するプロパティがあれば教えてください。

  • msoFileDialogFolderPicker

    オフィス2003を使っています。 Sub Sample1() With Application.FileDialog(msoFileDialogFolderPicker) If .Show = True Then MsgBox .SelectedItems(1) End If End With End Sub をエクセルの標準モジュールに張り付けるとフォルダを選択するダイアログが開きますが、 アクセスに張り付けると 「msoFileDialogFolderPicker」 の部分が、「変数が定義されていません」となってしまいます。 アクセスでも使えるようにするにはどうすればいいでしょうか?

  • ややこしいですがご協力ください

    アクセスからエクセルを起動してエクセルで実行した変数をアクセスに持って帰りたいです。 【アクセス側】_ Sub エクセルの値を持ってくる() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim MyFileName As String Dim myStr As String Set xlApp = New Excel.Application MyFileName = "C:\Users\エクセル.xlsm" Set xlBook = xlApp.Workbooks.Open(MyFileName) xlApp.Visible = True xlApp.Run "'" & MyFileName & "'!" & "Excel_test" Set xlApp = Nothing MsgBox myStr ’★ End Sub 【エクセル側】 Sub Excel_test() Dim myStr As String myStr = "アクセスへ渡す" MsgBox myStr End Sub としたときに、アクセスの MsgBox myStr ★でも エクセルで実行させた変数を持って帰りたいのですが どこを修正すればよろしいでしょうか? ご教授よろしくお願いします。

  • アクセスでApplication.Caption

    アクセスでApplication.Captionに代わるコードはありますか? エクセルでなら Sub test01() Debug.Print Application.Caption End Sub は動きますが、アクセスだとコンパイルエラーになります。 CaptionがApplicationのメンバにないからだと思います。 いくつかのアプリケーションを跨いでVBAを動かしているのですが、 アクセスで自身のアプリケーション名、もしくはファイル名を取得するコードはありますか? ご回答よろしくお願いします。

  • エクセルの変数をアクセスでも使いたい。

    エクセルの標準モジュールには Option Explicit Public 文字列 As String Public アクセス As Object Public Sub エクセル側テスト() 文字列 = "あ" Set アクセス = GetObject("C:\db1.mdb") If Not アクセス Is Nothing Then アクセス.Run "アクセス側テスト" End If Set アクセス = Nothing End Sub アクセス(db1.mdb)の標準モジュールには Option Compare Database Option Explicit Public 文字列 As String Sub アクセス側テスト() MsgBox 文字列 End Sub という風にコードを書きましたが やはりアクセスではエクセルで指定した変数が受け継がれません。 これを「アクセス側テスト」のマクロでもmsgboxで「あ」と表示させるにはどうすればいいのでしょうか? よろしくお願いします。

このQ&Aのポイント
  • 用事が詰まってないのに用紙が詰まってないのに用紙を取り除いてくださいと言われるのはなぜですか?
  • 用事が詰まってないのに用紙が詰まっていないのに用紙を取り除いてくださいと言われるのは何故ですか?
  • なぜ用事が詰まっていないのに用紙が詰まっていないのに用紙を取り除いてくださいと言われるのでしょうか?
回答を見る

専門家に質問してみよう