新規にエクセルを立ち上げて
標準モジュールに
Option Explicit
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Integer
Sub ahtGetComputerName()
Dim str As String
MsgBox GetComputerName(str, 16)
End Sub
を貼り付けて実行すると
2003だといきなりエクセルが閉じます。
「変更しますか?」も聞かれません。
2007だと画像の画面が出ます。
パソコン名を取得するコードだと思ってたのですがエクセルを強制的に閉じるコードなのでしょうか?
他のapiは使えます。
No.2ベストアンサー
- 回答日時:
私も、API は相当に怪しいのですが (^^ゞ
これは領域を確保してからでないとダメですね。
これなら OK でした。
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Integer
Sub ahtGetComputerName()
Dim str As String * 255
Dim rtn As Long
rtn = GetComputerName(str, 16)
MsgBox str
End Sub
蛇足ですがコンピュータ名ならVBAで関数が用意されています。
environ("computerName")
で得られます。
領域の確保と言うコードが必要なのですね。
Dim str As String * 255
このような変数の宣言の仕方があるのですか。
Environは環境変数ですよね。
APIを使わなくても
Sub test()
Debug.Print Environ("computerName")
End Sub
でコンピューター名が取得できました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法 4 2022/12/08 20:53
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) エラー処理 3 2022/04/11 14:58
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
エクセルで使えるかわいい枠を...
-
エクセル 列の最大数はIV?
-
エクセル関数の解読サイトなん...
-
エクセルで数値の上3桁で切捨...
-
エクセルのマウス操作(左クリ...
-
Accessのクエリの結果を、既存...
-
エクセル関数を使用して。
-
エクセルの起動時のロゴの非表...
-
Windows7でエクセル入力中に画...
-
xl
-
並び順の違う2つのエクセル表
-
キングソフト無料版期限終了後...
-
Exel ドロップダウンリスト ...
-
楽譜をデータベース化したい!
-
エクセルでの囲い文字
-
エクセルの行の幅について
-
【エクセル】 右端のスクロー...
-
エクセルデータをメモ帳に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
時間によってファイル名が変わ...
-
エクセル関数の解読サイトなん...
-
エクセル 列の最大数はIV?
-
エクセルで数値の上3桁で切捨...
-
エクセルで使えるかわいい枠を...
-
xl
-
エクセルに変な矢印が出てクリ...
-
エクセルのマウス操作(左クリ...
-
Accessのクエリの結果を、既存...
-
エクセルで検索して、ヒットセ...
-
差し込み印刷での小数点表示に...
-
エクセルに貼った画像が変形し...
-
楽譜をデータベース化したい!
-
エクセル関数を使用して。
-
エクセルデータをメモ帳に
-
添付のエクセルの車検証・運転...
-
【エクセル】 右端のスクロー...
-
エクセルでの囲い文字
おすすめ情報