tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル指定フォルダへの画像ファイルのコピー
記事No3869
投稿日: 2006/06/21(Wed) 14:36
投稿者オレンヂ
はじめまして。VB.net 2003を使っています。
どうしても行き詰ってしまったので、教えて下さい。
現在、指定したフォルダへ画像ファイルをコピーするプログラムを下のような感じで組んでいます。

Private Sub JpgCp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

JpgCp.Click

        Dim JpgMoto As String = "C:\受付画像\win_ppt2000.JPG"
        Dim CpSaki As String = foruda & "\win_ppt2000.JPG"   '変数[foruda]に
は毎回違うパスが
入ります。[C:\Documents and Settings\All Users\デスクトップ\Hoge]など

        System.IO.File.Copy(JpgMoto, CpSaki, True)

End Sub

これを実行すると、
「System.IO.IOException' のハンドルされていない例外が mscorlib.dll で発生しました。
追加情報 : ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」
と、エラーがでてしまいます。原因がつかめません。
どなたかご教授をお願いします。

[ツリー表示へ]
タイトルRe: 指定フォルダへの画像ファイルのコピー
記事No3871
投稿日: 2006/06/21(Wed) 23:59
投稿者なおこ(・∀・)
お世話になります。

英語のエラーメッセージだと
"The filename, directory name, or volume label syntax is incorrect."

らしいので、それで検索してみたら、こんなのがありました。
http://support.microsoft.com/kb/315472/ja
原因や解決方法など、何か参考になれば。

[ツリー表示へ]
タイトルRe^2: 指定フォルダへの画像ファイルのコピー
記事No3875
投稿日: 2006/06/22(Thu) 16:38
投稿者オレンヂ
なおこさん、ありがとうございます。
さっそく紹介頂いたサイトを見に行きましたが、解決には至りませんでした・・・。
申し訳ございません。

ファイルのコピーなんですが、
コピー先を変数[foruda]で指定しないで、フルパスを記入するとコピーができるんです。
C:\Documents and Settings\All Users\デスクトップ\Win_ppt2000.jpg など。
なぜなんでしょうかね。。

[ツリー表示へ]
タイトルRe^3: 指定フォルダへの画像ファイルのコピー
記事No3877
投稿日: 2006/06/22(Thu) 18:37
投稿者なおこ(・∀・)
お世話になります。

> コピー先を変数[foruda]で指定しないで、フルパスを記入するとコピーができるんです。
> C:\Documents and Settings\All Users\デスクトップ\Win_ppt2000.jpg など。
念のため、確認ですけども
foruda や CpSaki の中身は、System.Diagnostics.Debug.WriteLine 等で確認されているのですよね?

[ツリー表示へ]
タイトルRe^4: 指定フォルダへの画像ファイルのコピー
記事No3880
投稿日: 2006/06/23(Fri) 12:11
投稿者オレンヂ
お返事ありがとうございます。

はい。以下の様にDebug.WriteLineを使って確認をしています。

Debug.WriteLine(foruda)
Debug.WriteLine(Cpsaki)

一つ気になるのはDebug.WriteLineで書き出した結果を見ると、

C:\Documents and Settings\All Users\デスクトップ\001(←foruda
C:\Documents and Settings\All Users\デスクトップ\001(←Cpsaki
\Win_ppt2000.jpg(←Cpsaki

上のように[foruda]は一行で表示されているのに、[Cpsaki]の方は2行に分割されて表示されます。
もしかしたらこれが原因なのでしょうか・・・?

[ツリー表示へ]
タイトルRe^5: 指定フォルダへの画像ファイルのコピー
記事No3884
投稿日: 2006/06/23(Fri) 19:53
投稿者なおこ(・∀・)
お世話になります。

> C:\Documents and Settings\All Users\デスクトップ\001(←foruda
> C:\Documents and Settings\All Users\デスクトップ\001(←Cpsaki
> \Win_ppt2000.jpg(←Cpsaki
>
> 上のように[foruda]は一行で表示されているのに、[Cpsaki]の方は2行に分割されて表示されます

> もしかしたらこれが原因なのでしょうか・・・?
うーん...。
改行コードを入れるようなことをしていなければ問題ないと思うんですけど、
気になるなら念のために、こんな関数をつくって、Debug.WriteLine で調べてみてはどうでしょうか。
Private Function HasNewLineChar(ByVal target As String) As Boolean
  If target.IndexOf(ControlChars.Cr) <> -1 Then Return True
  If target.IndexOf(ControlChars.Lf) <> -1 Then Return True
  If target.IndexOf(ControlChars.CrLf) <> -1 Then Return True
  Return False
End Function

[ツリー表示へ]
タイトルRe^6: 指定フォルダへの画像ファイルのコピー
記事No3896
投稿日: 2006/06/26(Mon) 11:28
投稿者オレンヂ
お手数おかけして申し訳ございません。

早速確認した所、改行コードが入っている痕跡はありませんでした。
なんなんでしょうねぇ。。お手上げ状態です。

しかし、ここで足止めを食ってしまうのも勿体無いので、何か別の方法を探してみようと思います。
色々とありがとうございました。

[ツリー表示へ]
タイトルRe^7: 指定フォルダへの画像ファイルのコピー
記事No3899
投稿日: 2006/06/26(Mon) 19:37
投稿者オレンヂ
業務中色々やってみたのですが、結局ダメでした。

forudaの内容をMsgBoxに表示させても、改行されていました。
自動変数のウィンドウにはパスが最後まで表示されているんですけど。。

なんだか未練がましくてすいません。

[ツリー表示へ]
タイトルRe^8: 指定フォルダへの画像ファイルのコピー
記事No3900
投稿日: 2006/06/27(Tue) 10:45
投稿者なおこ(・∀・)
お世話になります。

オレンヂ さんの提示コードの中で、
変数 foruda に値をセットしている箇所が見当たらないのですが、
見せていただく事は可能でしょうか。

[ツリー表示へ]
タイトルRe^9: 指定フォルダへの画像ファイルのコピー
記事No3902
投稿日: 2006/06/27(Tue) 14:51
投稿者オレンヂ
こんにちは。お手数をおかけしています。
変数forudaに値をセットするのは、以下のコードです。

foruda = "C:\Documents and Settings\All Users\デスクトップ" & TextBox1.Text

よろしくお願い致します。

[ツリー表示へ]
タイトルRe^10: 指定フォルダへの画像ファイルのコピー
記事No3916
投稿日: 2006/06/29(Thu) 11:52
投稿者なおこ(・∀・)
お世話になります。

このコードを拝見したところ、
TextBox1 が MultiLine のテキストボックスでない限り、
改行が入る事はありえないとしか推測ができませんが...

[ツリー表示へ]