• ベストアンサー

CDドライブ

CDROMドライブのパス名を速く発見する。 プログラムを教えてください。 宜しくお願いします。 ドライブ名がQ,F,D・・・・とどこにあるかと言う事です。

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

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.6

すいません。レスがおくれました。 >VBAの方でこの方法では使用できないため 使えますよ。 Sub Main より上の部分はプログラムの先頭に記述する必要があります。 その部分で引っかかったのではないでしょうか? もしだめなら、エクセルかアクセスかわかりませんが、そのバージョンをおしえてください。 >※CD-ROMとCD-R/Wのドライブの区別はつかないのでしょうか? この質問は、別スレッドにて行いましょう。 ぼく自身それは未経験ですので、その方が多くの答えが期待できると思います。

kakuunn
質問者

お礼

ありがとうございました。 参考になりました。

その他の回答 (5)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.5

話がそれてきましたね。(^。^) 正確なバージョンは忘れましたが、IE4ぐらいからFSOが使えるようになったと思います。 WIN95はそれ以前なので無理なのです。 以前に業務でソフトにFSOを組み込んだのですが、エライ目にあったことがあり、それからはできるだけ使用しないようにしてるのです。 もし納品先が決まらないパッケージ物なら不向きですが、そうじゃないなら問題なしです。 でわでわ

  • Watapo3
  • ベストアンサー率76% (33/43)
回答No.4

TAGOSAKU7さん。純粋にありがとうございます。m(_ _)m 私も、何に付随しているものかは知らなかったもので感謝いたします。 で、横に少し反れてしまうかもしれませんが、 >IEのバージョンに影響される と言う事は、具体的にはどのような事でしょうか? 単にIEが入っていなければ使えないのか・・・これは当然だと思いますが・・・(^ ^; 他にIEのバージョンによって動作に影響が出てしまうのでしょうか? 補足をよろしく御願いいたします。m(_ _)m

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

Watapo3さんの回答だけでなく FileSystemObject を使用した回答全てへの補足です。(攻撃しているわけではありませんので、勘弁してください。。。) ファイルシステムオブジェクトは、IEの入っているバージョンに影響されます。もし純粋なWIN95を使用していたら、使用不可です。 (今の時代では少ないでしょうが。。。)

  • Watapo3
  • ベストアンサー率76% (33/43)
回答No.2

APIを使わない方法で一つ・・・(^ ^) Sub SerchCDRomDrive()  Dim fs, d, dc  Set fs = CreateObject("Scripting.FileSystemObject")  Set dc = fs.Drives  For Each d In dc   If d.DriveType = 4 Then    Debug.Print d   End If  Next d End Sub ちなみにDriveTypeは 0:不明 1:リムーバブル ディスク 2:ハード ディスク 3:ネットワーク ドライブ 4:CD-ROM 5:RAM ディスク と、なりますm(_ _)m

kakuunn
質問者

お礼

大変わかりやすい回答ありがとうございます。 ※CD-ROMとCD-R/Wのドライブの区別はつかないの でしょうか?

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

普段使用しているコードがあるので載せておきますね。 複数の同タイプのドライブが存在していても、取得可能です。 Option Explicit Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long 'ドライブタイプの定数 Public Enum DRV_TYPE   DRV_UNKNOWN = &H0    'ドライブの判別が出来ない   DRV_NO_ROOT_DIR = &H1  '指定のルートディレクトリが存在しない。   DRV_REMOVABLE = &H2   '交換可能なドライブ (フロッピーディスク等)   DRV_FIXED = &H3     '固定ドライブ   DRV_REMOTE = &H4    'ネットワークドライブ   DRV_CDROM = &H5     'CD-ROM   DRV_RAMDISK = &H6    'RAMディスク End Enum Sub Main()   Dim cPath  As Variant   Dim i    As Long   cPath = DriveGet(DRV_CDROM)   If IsEmpty(cPath) Then     Debug.Print "ドライブ認識できず"   Else     For i = LBound(cPath) To UBound(cPath)       Debug.Print "CD_Path=["; cPath(i) & "]"     Next i   End If End Sub Public Function DriveGet(inDriveType As DRV_TYPE) As Variant   Dim wkDriveLoop As Integer   Dim lngRetValue As Long   Dim DrvChar   As String   Dim wkVal()   As Variant   Dim wkCnt    As Integer         wkCnt = 0   For wkDriveLoop = 65 To 90     DrvChar = Chr$(wkDriveLoop) & ":\"     lngRetValue = GetDriveType(DrvChar)          If (lngRetValue = inDriveType) Then       ReDim Preserve wkVal(wkCnt) As Variant       wkVal(wkCnt) = DrvChar       wkCnt = wkCnt + 1     End If   Next wkDriveLoop   If wkCnt > 0 Then DriveGet = wkVal End Function

kakuunn
質問者

お礼

良回答ありがとうございます。 追加お願いしたいのですが、 VBAの方でこの方法では使用できないため そちらの方も教えていただきたいのですが。 ※CD-ROMとCD-R/Wのドライブの区別はつかないの でしょうか?

関連するQ&A

  • CDドライブをよびだせない。

    CDドライブにデータの入ったCDをいれても”Dドライブにディスクを挿入してください”とメッセージがでる。CDのショートカットからプロパティを呼ぶと”受け側に指定されたパス名’D:¥’は無効です。パスとファイル名が正しいか確認してください。とメッセージがでる。因みに他のパソコンにこのCDを入れると読み込めます。      よろしく願います。

  • CD-Rドライブが

    98SEなのですが、BIOS画面で セカンドIDEマスタリーとスレーブにCD-Rドライブをつけたのですが、 機種名を認識してくれません。 AUTOを選ぶと一応、CDROMとは出ますが前はちゃんと機種名まで 表示されました。 起動後にデバイスマネージャを見るとちゃんと機種名は表示されています。 しかしCDを入れても認識してくれません・・・ ドライブはEとQにしています。 ジャンパピンもマスターは右、スレーブは真ん中、という風に設定してあります。 何がいけないのでしょうか?

  • ドライブ名を変えた場合の障害は?

    内蔵HDDを大きな容量に換装したところ 従来のC(システム)ドライブ、D(ファイル)ドライブに加えて新たにF(現在は内容はカラです)ドライブの合計3構成になりました。 一方で従来のE(CDROM)ドライブが存在しています。 ここでドライブ名FとEを交換したいのですが、交換すると何か想定外の障害が発生しないか心配のために実行に躊躇しています。 アドバイスを頂ければ幸いです。

  • ドライブ名の固定

    こんばんは! ドライブ名の固定と言うのは出来ないのでしょうか? USBフラッシュメモリを使用する事が多いのですが繋ぐたびにドライブ名が変わってしまい苦労します。 今現在A:フロッピー C:内蔵HDD D:内蔵HDD E:外付けHDD F:リムーバブルディスク(64M) G:リムーバブルディスク(128M) Q:CD-RW となっているのですが、E.F.Gが毎回変わってしまいます。 変わる事の無い様にどうにか固定したいのですが何か良い方法は無いでしょうか?宜しくお願いします。

  • ローカルドライブのhtmlファイルを起動したい

    いつもおせわになっております。 フォームのボタンをクリックすると、 CDROMドライブ内のHTMLファイルを 起動しようとしています。 CDROMドライブはユーザー環境に よって異なるので、 設定ドライブをユーザーに入力してもらって、 その値を起動パスとして渡して 起動させています。 (例)****************************** ユーザーに"D"と入力ボックスに入力させて、 起動ボタン(フォームのボタン)を クリックすると、 D\\index.htmlのファイルが起動します。 ************************************* やりたいことは、 異なるドライブを指定された場合、 ページがみつからなくなりますが、 そのときにエラーメッセージをだしたいのです。 このとき、 1、指定したパス(ファイル)が   存在するファイルかどうかを   チェックできるか。 2、みつからないページが表示されたときに、   なにか返すようなメソッドがJSにあるか。 などを調べています。 なにかご存知の方がいらしたらおしえて いただけないでしょうか? 大変困っております。 ぜひともよろしくおねがいいたします。

  • CDドライブの設定

    おはようございます。 今まで使用していたWindows98のPCでは、CDドライブが(Q:)に設定されていました。新規に購入したXP搭載PCでは、CDドライブが(D:)に設定されています。 ただの気持ちの問題ですが、XPでCDドライブの(D:)を(Q:)に設定したいのですが、変更する方法はあるのでしょうか? 是非、教えてください。よろしくお願いします。

  • PCドライブ変更

    FMVFXC3B Windows10Home64bit 回復ドライブからリカバリしたところ、リカバリ前はドライブ文"C""D""E"となっていましが、リカバリ後”C""D""F"となっていました。 ドライブ名の変更はどのようにしたらいいのか教えてください。なお、管理ツ-ルからディスクの管理よりドライブ文字とパスの変更ができませんでした。 よろしくお願いします。 ※OKWAVEより補足:「富士通FMV」についての質問です。

  • CDドライブのドライブ番号を変えたい

    windows98についてお尋ねします。 現在、HDDがCドライブでCD-ROMドライブがDドライブになっています。 このCD-ROMドライブをEドライブやFドライブの固定にしたいのですが、できますか? windowsXPではコンピュータの管理からできたと思うのですが・・・。 やり方を教えてください。

  • DELPHI でコントローパネル情報

    ちょっと面倒な質問かも知れませんがよろしくお願いいたします。 コントロールパネル>システム>ハードウェア>デバイスマネージャー>CDROMドライブ>デバイス名>プロパティ で取得出来るドライブ番号(Q:とかR:とか)をDELPHI プログラムから取得する方法を教えて頂きたく質問しました。 何をしたいかというと、CDROMドライブ番号とデバイス名の関係をプログラムから取得したいのです。 例・・・ドライブ番号  Q:     デバイス名   SONY CD-RW CRX140E 参考に・・・これは、特殊なのかも知れませんが デバイスIDと言われる番号 1:0:0等が取得出来るソフトが有るのですが、その番号とドライブ番号(Q:等)との関連を取得したいのです。 よろしくお願いいたします。

  • ドライブの変更

    OSの不具合が有ったためOSの上乗せインストールを行いました。その後有ったはずのCドライブが無くなりCドライブの中身がすべてFドライブになってしまいました。 ドライブの変更でコンピュータの管理、ディスクの管理、ドライブ文字とパスの変更で追加ドライブ名そFからCに変更しようとするとデレクトリーが存在しないかすでにほかのボリュームへのどらいぶパスがあると・・・ とエラーがでて変更できません

専門家に質問してみよう