開発環境はVB6.0です。
説明べたなので箇条書きで記入しました。
(1)ボタンを押す
(2)Dドライブの中にあるJPGファイル(複数)をZドライブにコピー(もしくは移動)
コピーでも移動でもどちらでもかまいませんが、なんせ異なったドライブにJPGファイルを写す方法を探しています。
VB上に画像を表示して保存する方法はわかりましたが、
Call SavePicture(Image1, "z:\meibo\a\1.jpg")
これでは一気に保存することが出来ないのでとても困っています。
どなたか教えて下さい。よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
あちらの掲示板ではスルーされてしまったようですね?
■回答例1
Private Sub Command1_Click()
On Error GoTo ErrorProc
Const strFileType = "*" '"jpg"
Dim strBaseDir As String
Dim strSrcDir As String
Dim strDestDir As String
Dim strGetDir As String
strBaseDir = App.Path ' "C:\"
strSrcDir = strBaseDir & "\o"
strDestDir = strBaseDir & "\meibo\a"
strGetDir = Dir(strSrcDir & "\*." & strFileType)
Do Until strGetDir = ""
FileCopy strSrcDir & "\" & strGetDir, strDestDir & "\" & strGetDir
strGetDir = Dir()
Loop
ExitProc:
Exit Sub
ErrorProc:
MsgBox Err.Description
Resume ExitProc
End Sub
■回答例2
Private Sub Command2_Click()
On Error GoTo ErrorProc
Const strFileType = "*" '"jpg"
Dim strBaseDir As String
Dim strSrcDir As String
Dim strDestDir1 As String
Dim strDestDir2 As String
Dim strGetDir As String
Dim copySrcPath As String
Dim copyDestPath As String
strBaseDir = App.Path ' "C:\"
strSrcDir = "\o"
strDestDir1 = "\meibo"
strDestDir2 = "\a"
' 1.\o フォルダが存在するかを調査して、なければエラー。
strGetDir = Dir(strBaseDir & strSrcDir, vbDirectory)
If strGetDir = "" Then
MsgBox "コピー元フォルダ:" & strBaseDir & strSrcDir & " が存在しません。"
GoTo ExitProc
End If
' 2.\meibo フォルダが存在するかを調査して、なければ作成する。
strGetDir = Dir(strBaseDir & strDestDir1, vbDirectory)
If strGetDir = "" Then
MkDir strBaseDir & strDestDir1
End If
' 3.\meibo\a フォルダが存在するかを調査して、なければ作成する。
strGetDir = Dir(strBaseDir & strDestDir1 & strDestDir2, vbDirectory)
If strGetDir = "" Then
MkDir strBaseDir & strDestDir1 & strDestDir2
End If
' 4.コピー
strGetDir = Dir(strBaseDir & strSrcDir & "\*." & strFileType)
Do Until strGetDir = ""
copySrcPath = strBaseDir & strSrcDir & "\" & strGetDir
copyDestPath = strBaseDir & strDestDir1 & strDestDir2 & "\" & strGetDir
FileCopy copySrcPath, copyDestPath
strGetDir = Dir()
Loop
ExitProc:
Exit Sub
ErrorProc:
MsgBox Err.Description
Resume ExitProc
End Sub
■そのほか、API SHFileOperation を使った方法
■ファイル名、フォルダ名、パスについて
Dim Source As String
Dim Target As String
Source = "z:\o" 'これは、フォルダパスです。
Target = "z:\meibo\a" 'これは、フォルダパスです。
Shell "Command.com /c " & Source & " " & Target
Source、Targetには、"z:\o\IMGP0270.JPG"などと、ファイルパスを入れる必要があります。
一方、IMGP0270.JPG や IMGP0270 は、ファイル名です。
違いが分かります?
Source = "z:\o" ではなく、
Source = "z:\o\*" になります。
「*」をつけると、"z:\o" にあるすべてのファイルという意味になります。
回答例1、回答例2を分析してみてください。
コピーという同じことをするのに、目的や使用方法によって大分違いますね。
「Visual Basic ファイル コピー」でググると、いろいろ検索できますよ。
No.3
- 回答日時:
FileCopyステートメントは、1つのファイルをコピーするものです。
あるフォルダのファイルを複数または全部コピーするには、ループの中でFileCopyステートメントを実行するようにしましょう。
ですから、フォルダパスには"z:\o\~"や"z:\meibo\a\~"のようにダブルクォテーションでくくって文字列を直接記述するか、String型の変数に入れて記述する必要があります。
紹介したVisual Basic中学校の講座をざっと履修しないと、無理そうですね?
>コピー元ファイル → Zドライブ内のoファイル内のjpgファイルを読み取りたいので ⇒z:\o と記入しました。
>コピー先ファイル ⇒ Zドライブ内のmeiboファイルのaファイル内にコピーしたいので ⇒ z:\meibo\a と記入しました。
「o」や「meibo」はファイルでなく、フォルダですよね。
フォルダとは何なのか、ファイルとは何なのか、パスとは何なのか、いろいろ勉強することがありそうですね。
あせらずに、楽しんで勉強することが一番の近道ですよ。
がんばってください!
返信ありがとうございます。
お勧めして頂いた「Visual Basic 中学校」はとっても役にたちました!
しかし、ループ等まだまだ勉強不足な所がありますので引き続き勉強をしていきたいと思います。
また質問をした時等よろしくお願いします。
No.2
- 回答日時:
プログラム作成に苦労して、難しく考えすぎになってませんか。
もちろん基本的にコピーといえども、ソフト(通常この場合はOS関連の機能の一部、ユテリティソフトなど)が読んで、所定のディスクのところへ書き出す、というプログラムが走ります。
またJpgファイルもファイル形式の詳細は私にはわかりませんので、画面表示プログラムを作れといわれるとできません。
しかし本質問の場合は、ファイルの中身がどうであれ、ファイル形式がどうであれ、コピーのファイルを作る場合は、内容に斟酌せずに、読んだ物を別のものにそのまま書くことでよいわけでしょう。この機能はコンピュター発達の初期から、OSソフト群には必ずこれだけの機能で備わっています。
例えばDosの時代からCopy他 コマンドはあります。VBでもcopyfile(
VBscript)ガあります。
こういうものをプログラムの内部から、ファイル名をパラメータとして渡して、実行すればよいわけです。
返信ありがとうございます。
imogasiさんの回答を読んでいて私の知識不足がまともにできてた気がします。
1から勉強する必要があるなと思いながら期限が迫っているので自分に出来るのかとても不安が強くなりましたがしっかり勉強したいと思います。
No.1
- 回答日時:
FileCopyステートメントでコピーできます。
FileCopy コピー元ファイルパス, コピー先ファイルパス
Visual Basic 中学校というサイトをお勧めします。
参考URL:http://homepage1.nifty.com/rucio/main/main.htm
返信ありがとうございます。
以下のように記入しました。
Private Sub Command3_Click()
FileCopy z:\o, z:\meibo\a
End Sub
以上のように記入すると
コンパイルエラー:
修正補講:行番号 または 行ラベル または ステーメント または ステーメントの最後
というエラーが出てしまいしました。
コピー元ファイル → Zドライブ内のoファイル内のjpgファイルを読み取りたいので ⇒z:\o と記入しました。
コピー先ファイル ⇒ Zドライブ内のmeiboファイルのaファイル内にコピーしたいので ⇒ z:\meibo\a と記入しました。
記入の仕方が間違っているのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Google Drive Googleドライブについて質問です。googleドライブに保存してある写真をスマホに保存したいので 1 2022/11/13 20:34
- Excel(エクセル) EXCELマクロでandroidタブレットから取りんだJPEGファイルをうまくセルに貼り付けられない 2 2022/07/31 15:03
- Windows 8 Route Generator の使い方 1 2023/05/03 00:36
- Google Drive googleドライブの空き容量不足警告メッセージの抑止方法 3 2023/03/11 19:24
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- その他(パソコン・周辺機器) 同じファイル名 上書きしないフリーソフトなどあったら教えて下さい。 仕事で大量の写真などを扱っており 3 2023/05/18 06:43
- その他(ソフトウェア) コマンドプロンプトについて教えてください。 状況: 画像編集ソフト上でネットから保存した画像を使うの 3 2022/05/26 11:14
- Android(アンドロイド) Androidスマホ(AQUOSセンスライト3)のGメールに送られてきた添付ファイルが開きません。 4 2022/06/10 18:50
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
アクセス クエリを別のファイ...
-
vbsでExcelのシートをコピーす...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
エクセルVBAで開いているファイ...
-
エクセルのハイパーリンクがコ...
-
エクセルのマクロについて教え...
-
[エクセル]コピーするとオブジ...
-
FSO.CopyFileでのエラー無視方法
-
バッチファイルのコピーで
-
パワポでスライドをコピーでき...
-
簡単なexeファイルの作り方。
-
ワード 一部のページだけをpdf...
-
エクセル2010、図が大きすぎま...
-
同じファイル名 上書きしないフ...
-
VBSでExcelシートのコピー
-
マインクラフトPCをプレイしよ...
-
VBSで作成したフォルダにファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
エクセルのハイパーリンクがコ...
-
バッチファイル XCOPYで上書き...
-
バッチファイル 別ファイルにリ...
-
frxファイルの役目
-
ファイルサーバ上のファイルが...
-
バッチファイルのコピーで
-
Vba初心者です。下記のコード助...
-
xcopyでのバッチコピー方法でコ...
-
同じファイル名 上書きしないフ...
-
エクセルVBAで開いているファイ...
-
エクセル2010、図が大きすぎま...
-
vbsでExcelのシートをコピーす...
-
アクセス クエリを別のファイ...
-
bat 同名ファイルコピー時にリ...
-
[エクセル]コピーするとオブジ...
-
ワード 一部のページだけをpdf...
-
パワポでスライドをコピーでき...
-
FSO.CopyFileでのエラー無視方法
-
VBSで作成したフォルダにファイ...
おすすめ情報