こんにちは。よろしくお願いします。
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
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
API宣言の『Alias "SHFileOperationA"』を削除してみてください
当方 VB6+WinXP(SP2)の環境で実験したところ Aliasの指定を外したら動作しましたよ
# 何かエラー表示があるならその情報も記述しましょう
この回答への補足
ご回答いただきありがとうございます。
ご指摘のとおりに変更して実行してみたのですが、
「○○をコピーできません。このCDのファイルは読み取り専用ですが、この書き込み可能なCDに新しいファイルをコピーすると、ディスクにあるファイルを置き換えることができます」というエラーメッセージが表示され、正しく実行されませんでした。
ほかにパソコン側での設定が必要なのでしょうか。
No.2
- 回答日時:
こんなものを見つけました。
試してはいませんのでなんともいえませんが、
XPだったら書ける可能性はあると思います。
参考URL:http://www.bayden.com/delphi/cdburner.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbsからのExcelアドインのカス...
-
ExcelのVBAコードについて教え...
-
Geogebraの操作方法について
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
【ExcelVBA】値を変更しながら...
-
VBA 複数のエクセルから一つの...
-
VBAで大量のファイルをシート名...
-
Vba 実数および実数タイプの変...
-
Excelのマクロについて教えてく...
-
VBA レジストリの値の読み方に...
-
VBAで各列の"+"と"o"の合計数を...
-
Excel VBAで値を変えながら、pd...
-
VB.NETでボタンのクリックイベ...
-
指定した条件で行セルを非表示...
-
エクセルVBAについて
-
【マクロ】1つのマクロの中に...
-
VBA ユーザーフォーム ボタンク...
-
エクセルについて
-
ExcelのVBAコードについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ListBoxのデータを高速でファイ...
-
.netのXmlDocumentを使ってテキ...
-
VBを使ってのCD-RWへのバックア...
-
動かなくなったのでJavaソース...
-
統計ソフトRでデータ取り込みが...
-
<br />と<p></p>の使い方
-
VB6で"r"みたいな文字が返って...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
バッチファイルの作り方(CSV→...
-
openした後、closeしないでプロ...
-
ExcelをCSV書き出す場合のシー...
-
batファイルでrenameができませ...
-
エクセルVBA コードが同じでも...
-
DOSコマンドで、標準出力を出力...
-
VBAで巨大なファイルの途中から...
-
window.open でのファイル指定方法
-
close()で例外が投げられる理由
-
csvファイルの横方向への改行に...
おすすめ情報