VB.netでwindowsインストールソフトウェア取得
Dim wkRegKey As Microsoft.Win32.RegistryKey Dim wkKeyName As String Dim strKeyNames() As String Dim strKeyName As String Dim rKey As Microsoft.Win32.RegistryKey Dim displayName As String wkKeyName = “SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” wkRegKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(wkKeyName, False) strKeyNames = wkRegKey.GetSubKeyNames() For Each strKeyName In strKeyNames rKey = wkRegKey.OpenSubKey(strKeyName) 'インストールソフトウェア名取得 If Not rKey.GetValue(“DisplayName”) Is Nothing Then displayName = rKey.GetValue(“DisplayName”).ToString() 'アンインストール実行ファイル取得 If Not rKey.GetValue(“UninstallString”) Is Nothing Then unInstaller = rKey.GetValue(“UninstallString”) End If End If Next
ExcelVBAにてSGN関数で配列み初期化チェックは、環境によっては例外発生するので、使えない
環境によては動きが違うのでおかしいなとおもったら・・・。
- On Error GoTo 使うのがいいのかな。
ExcelVBAで任意の名前のシートがなければ作成する
'任意のワークシート名を指定 Dim trgtShName As String trgtShName = "新規追加" 'シートが開いているかどうかのフラグを定義する Dim flg As Boolean 'ワークシートオブジェクトを定義する Dim ws As Worksheet 'マクロ実行ブックの全シートにループ処理を実行する For Each ws In ThisWorkbook.Worksheets 'シートの名前が目的のブック名と一致した場合、処理を実行 If ws.Name = trgtShName Then 'フラグをTrueにしてループを抜ける flg = True Exit For End If Next 'フラグがFalseだった場合、シートを作成する If flg = False Then Worksheets.Add 'シート名を変更(追加されたシートはアクティブとなる) ActiveSheet.Name = trgtShName End If
ExcelVBAでシートのクリア
Worksheets("Sheet1").Cells.Clear
ExcelVBAでCSVファイルを読み込むマクロ
こちらで公開しているシートのReadCSVをまるっと頂きましょう。
https://www.excelspeedup.com/readcsv/
ExcelVBAで指定のシートにフォームボタンを追加する
Dim addTop Dim addLeft addTop = Range("A1").Top addLeft = Range("A1").Left Dim btn Set btn = Workbooks("hogeシート.xlsm").Sheets("hogehoge").Buttons.Add(addLeft + 19.5, addTop, 133.5, 37.5) btn.Characters.Text = "ボタン名" btn.OnAction = "マクロ名"
ExcelVBAで文字などの簡単な入力ダイアログ
Sub Sample1() Dim buf As String buf = InputBox("名前を入力してください") Range("A1") = buf End Sub