Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


61084 / 76732 ←次へ | 前へ→

【20273】Re:レジストリの変更
回答  ちゃっぴ  - 04/12/4(土) 9:23 -

引用なし
パスワード
   API使わなくてもできますけど・・・

1. WSHShellのRegRead, RegWriteを使った方法

'要参照 Windows Script Host Object Model

Dim objWSHShell As IWshRuntimeLibrary.WshShell

Set objWSHShell = New IWshRuntimeLibrary.WshShell
With objWSHShell
  .RegWrite "HKCU\Software\Chappi\Test\", 1, "REG_DWORD"
  .RegWrite "HKCU\Software\Chappi\Test\hoge", "hogehoge!", "REG_SZ"

  Debug.Print CInt(.RegRead("HKCU\Software\Chappi\Test\"))
  Debug.Print .RegRead("HKCU\Software\Chappi\Test\hoge")

  .RegDelete "HKCU\Software\Chappi\Test\hoge"
  .RegDelete "HKCU\Software\Chappi\Test\"
  .RegDelete "HKCU\Software\Chappi\"
End With

1. WMIのStdRegProvを用いた方法

Sub EnumPrinters()
  Dim objRegProv   As Object
  Dim strKeyPath   As String
  Dim vntValueNames  As Variant
  Dim vntValueTypes  As Variant
  Dim strValueName  As String
  Dim strValue    As String
  Dim i        As Long
  
  Const HKCU = &H80000001
  
  Set objRegProv = _
    GetObject("winmgmts:\\.\root\default:StdRegProv")
  strKeyPath = _
    "Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts"
  objRegProv.EnumValues HKCU, strKeyPath, _
    vntValueNames, vntValueTypes
  
  For i = 0 To UBound(vntValueNames)
    strValueName = vntValueNames(i)
    objRegProv.GetStringValue HKCU, strKeyPath, _
      strValueName, strValue
      
    Debug.Print strValueName & " on " _
      & Split(strValue, ",", -1, 0)(1)
  Next i
End Sub

0 hits

【20272】レジストリの変更 ランバダ 04/12/4(土) 2:08 質問
【20273】Re:レジストリの変更 ちゃっぴ 04/12/4(土) 9:23 回答
【20274】Re:レジストリの変更 ちゃっぴ 04/12/4(土) 9:30 発言
【21062】Re:レジストリの変更 りゃんわん 05/1/9(日) 14:36 質問
【21075】Re:レジストリの変更 ちゃっぴ 05/1/10(月) 19:40 回答
【20292】Re:レジストリの変更 Kein 04/12/4(土) 14:38 回答

61084 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free