
レジストリの値をExcelVBAの変数に代入したいと思ってます。
レジストリエディタにての階層は、
「HKEY_CURRENT_USER」→「Software」→「Autodesk」→「AutoCAD LT」
→「R2000」→「ACLT-1:411」→「FixedProfile」→「General」
(名前)P1、(種類)REG_SZ、(データ)1,1
このとき(名前)を探して(データ)を変数に代入したいと考えています。
ソースとしては、どんな感じになりますでしょうか?
知恵をかして頂ければと思っています。
又、レジストリを参照する際の注意点と言いますか、一歩間違えば
とんでしまうと聞いた事ありますので、アドバイスしてありましたら
教えて頂ければと思っています。
よろしくお願いします。
-------------------------------------------------------
Excel2000、AutoCAD LT2000、WindowsXPの環境で行います。

No.2ベストアンサー
- 回答日時:
読むだけでしたら、問題はないと思います。
下記2.が参考になると思います。
vb6で書かれていますが、もっていなければmodule1.basをノートパッドなどで開くことで、コードを見ることができると思います。
レジストリを読むのに必要な部分は、
Function GetReg の部分とそこで使われている三つのapi、
RegOpenKey,RegQueryValueEx,RegCloseKey
です。
フォームのほうから GetReg関数を呼んでいてその引数は
If GetReg(HKEY_CURRENT_USER, "Control Panel\desktop", "ScreenSaveActive") = 0 then
となっています。
(自身→自信 失礼しました)
参考URL:http://www.vbstation.net/sample/0217.htm
Excelにて成功しました。以下の様な感じになりました。
有り難うございます。
Option Explicit
Public Const ERROR_SUCCESS = 0
Public Const HKEY_CURRENT_USER = &H80000001
Public Const KEY_QUERY_VALUE = &H1&
Public Const REG_SZ = 1
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, _
ByVal lpSubKey As String, ByVal ulOptions As Long, _
ByVal samDesired As Long, phkResult As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, _
ByVal lpReserved As Long, lpType As Long, lpData As Any, _
lpcbData As Long) As Long
Sub Sample()
Dim lngKey As Long
Dim strSubKey As String
Dim lngResult As Long
Dim strBuffer As String * 80
Dim strBinary As String
Dim rc As Long
lngKey = HKEY_CURRENT_USER
strSubKey = "Software\Microsoft\Windows\CurrentVersion\Test"
rc = RegOpenKeyEx(lngKey, strSubKey, 0&, KEY_QUERY_VALUE, lngResult)
If rc <> ERROR_SUCCESS Then
MsgBox "関数の呼び出しに失敗しました"
Exit Sub
End If
strSubKey = "String"
rc = RegQueryValueEx(lngResult, strSubKey, 0&, REG_SZ, ByVal strBuffer, Len(strBuffer))
'値の表示
MsgBox Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
Call RegCloseKey(lngResult)
End Sub

No.1
- 回答日時:
この回答への補足
早々の回答ありがとうございます。
今のところ、読むだけの処理しか考えていませんので、その場合は
致命傷に至る程の事にはならないと、解釈していいのでしょうか?
又、URLを参照しましたが、
HKEY_CURRENT_USER\Software\VB and VBA Progrm settings
にしか参照できない様な記載になってますが、
その点は、質問に書いている様に
「HKEY_CURRENT_USER」→「Software」→「Autodesk」→「AutoCAD LT」
→「R2000」→「ACLT-1:411」→「FixedProfile」→「General」
(名前)P1、(種類)REG_SZ、(データ)1,1
の値を獲得したいと考えています。
API関数を使用とする方法とするようですが、その方法を教えて頂け
ると助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) vba レジストリの値を読み込教えてください教えてください 1 2023/07/14 14:09
- CAD・DTP Auto CAD LT → Auto CAD 1 2022/04/20 12:29
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Windows 10 (続き2)2つのウィンドウ選択時の表示について 3 2023/08/21 22:41
- Excel(エクセル) vba sendKeysを送る相手のソフトを前面に開くには 1 2023/07/20 16:42
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- SoftBank(ソフトバンク) iphoneSE2故障→ SE3へ機種変更について 1 2023/04/09 15:09
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Excel(エクセル) Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに 5 2023/04/08 20:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
【VBA】 結合セルに複数画像と...
-
vbsでのwebフォームへの入力制限?
-
算術演算子「¥」の意味について
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
ダブルクリックで貼り付けた画...
-
VBAの「To」という語句について
-
VBAでユーザーフォームを指定回...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報