• ベストアンサー

ドライブのシリアルナンバーを調べたい

お世話になります。 ドライブのシリアルナンバーを取得するvbaコードを見つけたのですが、 これをVisualBasic2008EEで表現するとどうなるのでしょうか。 お解かりの方おりましたらよろしくお願い致します。 Dim FSO, DriveObject Set FSO = CreateObject("Scripting.FileSystemObject") ''Cドライブのシリアルナンバーを表示します MsgBox FSO.GetDrive("C").SerialNumber Set FSO = Nothing

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

  • ベストアンサー
noname#259269
noname#259269
回答No.1

Dim FSO = CreateObject("Scripting.FileSystemObject") MsgBox(FSO.GetDrive("C").SerialNumber) System.Runtime.InteropServices.Marshal.ReleaseComObject(FSO)

icevain
質問者

お礼

edp3142さん はじめまして できました。 大切に使わせていただきます。 ありがとうござました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#259269
noname#259269
回答No.2

こうでした。 Dim FSO = CreateObject("Scripting.FileSystemObject") Dim DriveObject = FSO.GetDrive("C") MsgBox(DriveObject.SerialNumber) System.Runtime.InteropServices.Marshal.ReleaseComObject(DriveObject) System.Runtime.InteropServices.Marshal.ReleaseComObject(FSO)

icevain
質問者

お礼

お礼💌、忘れてました ごめんなさい🙏

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • vbaでフォルダ属性がうまく取れません

    vbaでフォルダ属性が隠しフォルダかどうかを調べるコードを書いています。 C:\ProgramData\ は隠しフォルダなのに、なぜか16が返って来ます。 試しにvbs(wsh)だと18が返って来ます。 環境は Win10 + Excel2013(32ビット) です。 vbaで返値18を求めるにはどうすれば良いのでしょうか。 Sub test() Dim mPath Dim fso, f mPath = "C:\ProgramData\" Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(mPath) MsgBox f.Attributes End Sub

  • DVD(Eドライブ)に新規ファイルを作成

    VBAの初心者です。DVD(Eドライブ)に新規ファイルを作成しようと思い、WEBから拝借したコード: Sub test5() 'E:\Work\フォルダにSubフォルダを作成します。 Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CreateFolder "E:\Work\Sub" Set FSO = Nothing End Sub を実行したところ、 FSO.CreateFolder "E:\Work\book1"の行で「パスが見つかりません」というエラーが出ます。解決法を教えてください。

  • VBAで2変数の差分を取る方法  その2

    前回はありがとうございました。 まだ最終までは行ってないのですが、Wendyさんfumufumuさんに教えていただいたマクロともうまく動きます。 fumufumuさんの変数bufなんですが、この中身をシートに一行ずつ入れるにはどうするのでしょう。 Msgboxでは行ごとに綺麗に表示されす。 OpenAsTextStreamで開きReadAllで読み込んだbufの中身は配列になっているのでしょうか。 Splitで色々やってみたんですが、旨くいかいなです。 ---------------------------------------------------- Set fso = CreateObject("Scripting.FileSystemObject") With fso.GetFile(TXT).OpenAsTextStream .Skip size buf = .ReadAll .Close End With Set fso = Nothing MsgBox buf ------------------------------------------------------ fumufumuさんのDim fso As New FileSystemObjectでは動かなかったので Set fsoにするなど一部変えてあります。

  • テキストファイルに一行文字を追加したい

    バッチ処理でテキストファイルの最後に文字列を追加する作業をやりたいのです。 普通の文字列ですと、1)のようにして上手くいきます。 ところが「"」の入った文字列を一行加えようと2)のようにすると、エラーになってしまいます。どうしたら前に進めるでしょうか? --------- 1)上手くいくケース ----------- Set fso = CreateObject("Scripting.FileSystemObject") Set tmpFile = fso.GetFile("C:\test\hoge.txt") Set f = tmpFile.OpenAsTextStream(8, -2) f.Write("一行追加しました") f.close Set f = Nothing Set tmpFile = Nothing Set fso = Nothing --------- 2)上手くいかないケース ----------- Set fso = CreateObject("Scripting.FileSystemObject") Set tmpFile = fso.GetFile("C:\test\hoge.txt") Set f = tmpFile.OpenAsTextStream(8, -2) f.Write("一行"追加"しました") f.close Set f = Nothing Set tmpFile = Nothing Set fso = Nothing

  • VBSでCD-ROMドライブの認証方法

    VBSで起動したドライブがCD-ROMドライブであることを起動時に認証するように下記のように組んだんですけど、 Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") Target = "D:\test.txt" If FSO.FileExists(Target) Then ふと思ったんですが必ずしもCD-ROMドライブが"D"とは限らないわけですよね。(Eだったり) そこで上記のようなTargetの指定以外CD-ROMドライブだと認証させる良い方法は無いでしょうか? 追記 VBA関連でお勧めのHP、書籍等ご紹介頂けると尚幸いです。

  • ファイルシステムオブジェクトのメソッドについて

    こんにちは、皆さん。 以下のプログラムでコピーしようとしたら、 オブジェクトがメソッド、プロパティをサポートしてないという メッセージが表示されてしまいました。 Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile "c:\aaa.txt", "c:\temp\" Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetFile("c:\aaa.txt") fso.Copy "c:\temp\" こういった場合、どんなメソッドがあるか確認するには どうしたらよいでしょうか? また、ファイルをコピーするにはどうしたらよいでしょうか? よろしくお願いします。

  • VBA SFO C:\Windows

    Cドライブには、 IntelもWindowsのどちらのフォルダも存在するのに Sub Sample() Dim myFSO As Object Debug.Print CreateObject("scripting.filesystemobject").GetFolder("C:\Intel").Size Debug.Print CreateObject("scripting.filesystemobject").GetFolder("C:\Windows").Size Set myFSO = Nothing End Sub をVBAで実行すると \Windows の方だけエラーになります。 エラー内容は 実行時エラー 70 書き込みできません。 です。 何故でしょうか?

  • VBSでルートフォルダ名を取得したい

    (I)ドライブにUSBメモリーがあってルートフォルダ名がABCだとします。 VBSでルートフォルダ名を取得したくてコード書いてみたんですがMsgBoxには空欄しかでません。なにが間違っているのか教えて頂けないでしょうか? dim objFSO dim objDrive Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objDrive = objFSO.GetDrive("I") MsgBox objDrive.RootFolder.name

  • vbs 文字位置を中央に

    vbscriptでエクセルファイルへ出力するスクリプトを作成しています。 エクセルファイルのセルに文字列を入力し、文字を中央揃えにしたいのですが、うまくいきません。 ----------------------------------------- Dim FSO, objExcel, objBook, objSheet Set FSO = CreateObject("Scripting.FileSystemObject") Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objBook = objExcel.Workbooks.Add Set objSheet = objExcel.Worksheets("Sheet1") objSheet.range("a1") = "test" objSheet.range("a1").HorizontalAlignment = xlHAlignCenter Set FSO = Nothing : objExcel = Nothing : Set objBook = Nothing : Set objSheet = Nothing ----------------------------------------- どうすれば、中央揃えにできますでしょうか? よろしくおねがいします。

  • エクセルマクロで

    エクセルマクロでファイルの有無を確認したくて 次のようなマクロを作りました。 Dim fso Const Folder = "D:\AAA" Const File = "*****.xlsx" Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(Folder & "\" & File) = False Then MsgBox "ファイルは存在しません" ファイル名の*****部分に Range("A1").Valueを使いたいのですがうまくいきません。 どのようになるのでしょうか。よろしくお願いします。