こんにちは。よろしくお願いします。
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ランキング
-
ListBoxのデータを高速でファイ...
-
VBを使ってのCD-RWへのバックア...
-
VB6で"r"みたいな文字が返って...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
VBAでCSVファイルを途中行まで...
-
window.open でのファイル指定方法
-
MATLAB グローバル変数の宣言
-
ディレクトリ内のtxtファイル中...
-
タブの色を変更する方法
-
無料配布の郵便番号自動入力cgi...
-
VBAで巨大なファイルの途中から...
-
C言語で特定の行を抽出する方法...
-
PerlでのUseless use...
-
fgets で値が取得できない
-
JavaでCSVファイルを高速に読む...
-
VB6.0でDB接続する際に切断時の...
-
2つのCSVファイルをマッチング
-
エラーログ「\\x8ew\\x92\\xe8...
-
batファイルでrenameができませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ListBoxのデータを高速でファイ...
-
動かなくなったのでJavaソース...
-
.netのXmlDocumentを使ってテキ...
-
IEだとCGIが正しく動作しないこ...
-
バッチファイルの作り方(CSV→...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
DOSコマンドで、標準出力を出力...
-
ExcelをCSV書き出す場合のシー...
-
openした後、closeしないでプロ...
-
close()で例外が投げられる理由
-
batファイルでrenameができませ...
-
VBAでCSVファイルを途中行まで...
-
window.open でのファイル指定方法
-
VBAで巨大なファイルの途中から...
-
Perlで特定行から特定行までを...
-
ReadLineでの読み出し行を指定する
-
エクセルVBAで素数だけを出力す...
-
FindFirstFileとFindNextFileで...
-
Perlで特定文字列から特定文字...
おすすめ情報