• 締切済み

VBを使ってのCD-RWへのバックアップ方法を教えてください。

こんにちは。よろしくお願いします。 VB5を使って開発しています。 パソコンの環境はWindowsXP(SP2)、データはAccess2003のMDBデータとスキャナで取り込んだ画像ファイルです。 上記2データをCD-RWにバックアップする処理をフォーム上のコマンドボタンを押して実行したいと考えています。 いろいろなサイトなどを探してみてFilecopyやSHFileOperationといったコピーの方法があると知りどちらも試してみたのですが、うまくいきません。間違っている箇所すらわからない状態です。CD-RWにバックアップを取ることは不可能なのでしょうか。また正しい方法が別に存在するのでしょうか。ご指摘、アドバイスをお願いいたします。 下は実際に作った処理です。 ----------------------------------------------------- Filecopy "D:\data\*.*","E:\back\*.*" ------------------------------------------------------ Private Declare Function SHFileOperation Lib "shell32" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Private Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As String End Type Private Const FO_COPY = &H2 Private Const FO_DELETE = &H3 Private Const FO_MOVE = &H1 Private Const FO_RENAME = &H4 Private Sub Command1_Click() Dim Ret As Long Dim sf As SHFILEOPSTRUCT sf.hwnd = Me.hwnd sf.wFunc = FO_COPY sf.pFrom = "D:\data\*" sf.pTo = "E:\back\" Ret = SHFileOperation(sf) If Ret <> 0 Then MsgBox "失敗しました。" End Sub

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

API宣言の『Alias "SHFileOperationA"』を削除してみてください 当方 VB6+WinXP(SP2)の環境で実験したところ Aliasの指定を外したら動作しましたよ # 何かエラー表示があるならその情報も記述しましょう

kawakero
質問者

補足

ご回答いただきありがとうございます。 ご指摘のとおりに変更して実行してみたのですが、 「○○をコピーできません。このCDのファイルは読み取り専用ですが、この書き込み可能なCDに新しいファイルをコピーすると、ディスクにあるファイルを置き換えることができます」というエラーメッセージが表示され、正しく実行されませんでした。 ほかにパソコン側での設定が必要なのでしょうか。

noname#60992
noname#60992
回答No.2

こんなものを見つけました。 試してはいませんのでなんともいえませんが、 XPだったら書ける可能性はあると思います。

参考URL:
http://www.bayden.com/delphi/cdburner.htm
kawakero
質問者

お礼

ありがとうござました。 全て英語なので、勉強してから使ってみようと思います。

  • tocci_pc
  • ベストアンサー率14% (19/130)
回答No.1

VBでは基本的にCD-R(W)・DVD-R(W)とかにプログラムでは書き込みが出来なかった気がします。(逆に出来るのであれば僕も教えてほしい。)書き込み系はC言語じゃないと無理と聞いたことがありますが、不確かな情報なので、あとは自分で調べてください。

kawakero
質問者

お礼

回答ありがとうございました。 言語により可・不可があるのですね。

関連するQ&A