Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9342 / 13646 ツリー ←次へ | 前へ→

【27701】ファイルを別名保存した後、ファイルが開かない にんは 05/8/16(火) 19:10 質問[未読]
【27703】Re:ファイルを別名保存した後、ファイル... End 05/8/16(火) 20:02 発言[未読]
【27705】Re:ファイルを別名保存した後、ファイル... にんは 05/8/16(火) 20:34 回答[未読]
【27707】Re:ファイルを別名保存した後、ファイル... End 05/8/16(火) 21:06 発言[未読]
【27709】Re:ファイルを別名保存した後、ファイル... にんは 05/8/16(火) 21:28 質問[未読]
【27712】Re:ファイルを別名保存した後、ファイル... りん 05/8/16(火) 22:02 質問[未読]
【27714】Re:ファイルを別名保存した後、ファイル... End 05/8/16(火) 22:25 発言[未読]
【27716】Re:ファイルを別名保存した後、ファイル... りん 05/8/16(火) 22:46 発言[未読]
【27717】Re:ファイルを別名保存した後、ファイル... End 05/8/16(火) 22:57 発言[未読]
【27718】Re:ファイルを別名保存した後、ファイル... りん 05/8/16(火) 23:03 発言[未読]
【27719】Re:ファイルを別名保存した後、ファイル... End 05/8/16(火) 23:13 発言[未読]
【27722】Re:ファイルを別名保存した後、ファイル... にんは 05/8/17(水) 9:43 回答[未読]
【27728】Re:ファイルを別名保存した後、ファイル... りん 05/8/17(水) 11:40 発言[未読]
【27721】Re:ファイルを別名保存した後、ファイル... にんは 05/8/17(水) 9:39 回答[未読]
【27724】Re:ファイルを別名保存した後、ファイル... にんは 05/8/17(水) 9:46 回答[未読]
【27720】Re:ファイルを別名保存した後、ファイル... にんは 05/8/17(水) 9:36 質問[未読]
【27725】Re:ファイルを別名保存した後、ファイル... Jaka 05/8/17(水) 10:00 発言[未読]
【27727】Re:ファイルを別名保存した後、ファイル... にんは 05/8/17(水) 10:54 回答[未読]
【27737】Re:ファイルを別名保存した後、ファイル... End 05/8/17(水) 15:01 発言[未読]
【27738】Re:ファイルを別名保存した後、ファイル... End 05/8/17(水) 15:04 発言[未読]
【27739】Re:ファイルを別名保存した後、ファイル... にんは 05/8/17(水) 15:19 発言[未読]
【27921】Re:ファイルを別名保存した後、ファイル... りん 05/8/24(水) 12:31 発言[未読]

【27701】ファイルを別名保存した後、ファイルが開...
質問  にんは  - 05/8/16(火) 19:10 -

引用なし
パスワード
   お世話になっています。

  Set NewBook = Workbooks.Add
  'コピー元xls
  varxls = "C:A.xls"
  Workbooks.Open Filename:=varxls
  aa = ActiveSheet.Name
  Set a = ActiveSheet.UsedRange
  Set b = NewBook.Worksheets(1).Range("A1")

  a.Copy (b)
  NewBook.Application.DisplayAlerts = False
  'コピー先xls
  NewBook.SaveAs Filename:= _
    "C:B.xls", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
  NewBook.Application.DisplayAlerts = true

長くてすみません。
こんな感じで保存まではできるのですが
その後、xlsファイルが開かなくなってしまいました。
(すべてのxlsファイル)
保存したファイルを消すと開けるようになります。
どうすればよいかご教授ください

【27703】Re:ファイルを別名保存した後、ファイル...
発言  End  - 05/8/16(火) 20:02 -

引用なし
パスワード
   ▼にんは さん:こんにちは。
>その後、xlsファイルが開かなくなってしまいました。
例えば、↓これでも同じ現象発生しますか?
Sub Sample()
  Dim varxls As String
  varxls = "C:\A.xls"
  Workbooks.Open varxls
  ActiveSheet.Copy
  Application.DisplayAlerts = False
  ActiveWorkbook.SaveAs "C:\B.xls"
  Application.DisplayAlerts = True
End Sub

【27705】Re:ファイルを別名保存した後、ファイル...
回答  にんは  - 05/8/16(火) 20:34 -

引用なし
パスワード
   ENDさんどうもありがとうございます。

おっしゃるとおり、やってみましたが同じ結果でした。
book1.xlsが怪しいんですけど。。。
すみません助けてください。

【27707】Re:ファイルを別名保存した後、ファイル...
発言  End  - 05/8/16(火) 21:06 -

引用なし
パスワード
   ▼にんは さん:
>おっしゃるとおり、やってみましたが同じ結果でした。
では、 Application.DisplayAlerts = False
をコメントアウトして実行したらどうなりますか?
Q1)新規保存の場合
Q2)上書き保存の場合

また、
>その後、xlsファイルが開かなくなってしまいました。
>(すべてのxlsファイル)
これに関して、もっと詳しい情報が欲しいところですね。
開けない時、
Q3)何かエラーメッセージが出ますか?
Q4)"C:B.xls"の実際のパス名とファイル名は何ですか?

また、
>book1.xlsが怪しいんですけど。。。
とおっしゃるからには、何か心当たりがおありでは?

【27709】Re:ファイルを別名保存した後、ファイル...
質問  にんは  - 05/8/16(火) 21:28 -

引用なし
パスワード
   ▼End さん:
どうもありがとうございます

>では、 Application.DisplayAlerts = False
>をコメントアウトして実行したらどうなりますか?
>Q1)新規保存の場合
やはり開かず。
>Q2)上書き保存の場合
saveasするとき、以下のようなエラーがでます
「Microsoft Excel-Book1アプリケーション(Microsoft Excel-Book1)
の起動を切り替えて・・・」
(ちょっといじったらこのエラーがでなくなってしまって。)
でも「切り替え」ボタンを押したら処理は進みます。

>
>また、
>>その後、xlsファイルが開かなくなってしまいました。
>>(すべてのxlsファイル)
>これに関して、もっと詳しい情報が欲しいところですね。
>開けない時、
>Q3)何かエラーメッセージが出ますか?
特にでません。

>Q4)"C:B.xls"の実際のパス名とファイル名は何ですか?
"C:\システム\結果\A2【番号】 【名】 様.xls"
です。

>また、
>>book1.xlsが怪しいんですけど。。。
>とおっしゃるからには、何か心当たりがおありでは?
保存したxlsを開こうとすると、Book1.xlsがたちあがるのです。
なにも表示されないもの。。。。

ファイル名がおかしいのかしら。
なおしてまたやってみますが、どうぞ宜しくお願いします。

【27712】Re:ファイルを別名保存した後、ファイル...
質問  りん E-MAIL  - 05/8/16(火) 22:02 -

引用なし
パスワード
   にんはさん、Endさん、こんばんわ。

>>Q2)上書き保存の場合
>saveasするとき、以下のようなエラーがでます
>「Microsoft Excel-Book1アプリケーション(Microsoft Excel-Book1)
>の起動を切り替えて・・・」
>(ちょっといじったらこのエラーがでなくなってしまって。)
>でも「切り替え」ボタンを押したら処理は進みます。
>>また、
>>>book1.xlsが怪しいんですけど。。。
>>とおっしゃるからには、何か心当たりがおありでは?
>保存したxlsを開こうとすると、Book1.xlsがたちあがるのです。
>なにも表示されないもの。。。。
>ファイル名がおかしいのかしら。

>なおしてまたやってみますが、どうぞ宜しくお願いします。

エラーが出た後で、パソコンを再起動してやりなおしましたか?


エラー回避のために、ファイルをいろいろチェックしてから保存する方法です。
Sub Test()
  Dim newbook As Workbook, wb As Workbook, ws As Worksheet
  Dim Opath As String, Ofile As String
  '
  Set ws = ActiveWorkbook.ActiveSheet
  Set newbook = Workbooks.Add
 
  'コピー元xls
  'varxls = "C:A.xls"
  'Workbooks.Open Filename:=varxls
  ws.UsedRange.Copy _
         Destination:=newbook.Worksheets(1).Range("A1")
  Opath = "D:\システム\結果\" 'フォルダ(最後の\を忘れないでね)
  Ofile = "A2【番号】 【名】 様.xls" 'ファイル名
  '同じ名前のブックが開かれていたらエラーになるので閉じる(保存はしません)
  On Error Resume Next
  Set wb = Application.Workbooks(Ofile)
  On Error GoTo 0
  If Not wb Is Nothing Then
   wb.Saved = True '保存したフリ
   wb.Close '保存しないで閉じる
   Set wb = Nothing
  End If
  '同じ名前のファイルがフォルダ内にあったら削除しておく
  If Dir(Opath & Ofile) <> "" Then Kill (Opath & Ofile)
  '改めて保存
  newbook.SaveAs Filename:= _
   Opath & Ofile, _
   FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
   ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
これでどうでしょうか?
再起動してから確認してみてください。

【27714】Re:ファイルを別名保存した後、ファイル...
発言  End  - 05/8/16(火) 22:25 -

引用なし
パスワード
   こんばんは。りんさん。
なるほど。勉強させて頂きました。

以下、りんさんのコードで解決したら不要です。

逆質問ばっかりで申し訳ないですが
Q5)OSとXLのバージョンは何でしょう?

>>保存したxlsを開こうとすると、Book1.xlsがたちあがるのです。
Q6)上記操作はダブルクリックですか?通常の[開く]メニューからでは?

>ファイル名がおかしいのかしら。
できるだけ単純なフォルダとファイル名で、テスト環境のつもりで
問題のコードを実行してみられるのがいいですよ。(C:\temp\test.xlsなど)

とりあえず参考URLを。
『ファイル名に特定の文字が含まれるとダブルクリックでファイルを開くことができない』
http://support.microsoft.com/kb/831628/JA/
『[OFFXP] ロングファイル名のフォルダの文書を開くとファイルが開けませんエラー』
http://support.microsoft.com/kb/409203/JA/

【27716】Re:ファイルを別名保存した後、ファイル...
発言  りん E-MAIL  - 05/8/16(火) 22:46 -

引用なし
パスワード
   こんばんわ。

>『ファイル名に特定の文字が含まれるとダブルクリックでファイルを開くことができない』
>http://support.microsoft.com/kb/831628/JA/
>『[OFFXP] ロングファイル名のフォルダの文書を開くとファイルが開けませんエラー』
>http://support.microsoft.com/kb/409203/JA/

どっちも怪しいですね。でも、フルパスファイル名はあまり長くなさそうですし・・・
ファイル名にも 「”」が入っているようにも見えないし・・・

【27717】Re:ファイルを別名保存した後、ファイル...
発言  End  - 05/8/16(火) 22:57 -

引用なし
パスワード
   ▼りん さん:こんばんは。
あ。すみません。あくまで参考で。
パス名やファイル名によっては開かないエラーが発生する事がありますよってだけです。
混乱させてしまう悪いレスですね。m(_ _)m

【27718】Re:ファイルを別名保存した後、ファイル...
発言  りん E-MAIL  - 05/8/16(火) 23:03 -

引用なし
パスワード
   End さん、こんばんは。
わき道それっぱなしですが。

>あ。すみません。あくまで参考で。
>パス名やファイル名によっては開かないエラーが発生する事がありますよってだけです。
>混乱させてしまう悪いレスですね。m(_ _)m
いや、そんな事ないと思います。大体はそんなところに答えがあるもんですし。
ある意味マイクロソフトの罠というか(笑) 罠だらけですが。

これ(ファイル名変えるとか、%1取るとか、再起動とか)で解決したらいいなあと希望を持っていたり。

【27719】Re:ファイルを別名保存した後、ファイル...
発言  End  - 05/8/16(火) 23:13 -

引用なし
パスワード
   ▼りん さん:こんばんは。
>わき道それっぱなしですが。
そうですね。(笑)
>ある意味マイクロソフトの罠というか(笑) 罠だらけですが。
ホントに。
『コピーしたシートでシート名を変更せずに参照すると、本現象が発生します。』
http://support.microsoft.com/default.aspx?scid=kb;ja;410985
これこそワナですよね(笑)

ちなみに"A2【番号】 【名】 様.xls"は実際には
数字+スペース+漢字+スペース・・・なんでしょうかねぇ?

#にんはさん。ムダレスごめんなさい。

【27720】Re:ファイルを別名保存した後、ファイル...
質問  にんは  - 05/8/17(水) 9:36 -

引用なし
パスワード
   りん さん、Endさん、おはようございます
遅くまでありがとうございました
りんさんのアドバイスを参考に、ちょっとコンパイルエラーになってしまったところを修正し、実行してみました。

>エラー回避のために、ファイルをいろいろチェックしてから保存する方法です。
>Sub Test()
>  Dim newbook As Workbook, wb As Workbook, ws As Worksheet
>  Dim Opath As String, Ofile As String

>  'コピー元xls
>  varxls = "C:A.xls"
>  Workbooks.Open Filename:=varxls

>  '
>  Set ws = ActiveWorkbook.ActiveSheet←ここでメソッド・メンバが
                    ありませんエラーが出ました。
                   ので直前にコピー元をもってきました。 


  Set newbook = Workbooks.Add
> 
>  'コピー元xls
>  'varxls = "C:A.xls"
>  'Workbooks.Open Filename:=varxls
>  ws.UsedRange.Copy _
>         Destination:=newbook.Worksheets(1).Range("A1")
>  Opath = "D:\システム\結果\" 'フォルダ(最後の\を忘れないでね)
>  Ofile = "A2【番号】 【名】 様.xls" 'ファイル名
>  '同じ名前のブックが開かれていたらエラーになるので閉じる(保存はしません)
>  On Error Resume Next
>  Set wb = Application.Workbooks(Ofile)
>  On Error GoTo 0
>  If Not wb Is Nothing Then
>   wb.Saved = True '保存したフリ
>   wb.Close '保存しないで閉じる
>   Set wb = Nothing
>  End If
>  '同じ名前のファイルがフォルダ内にあったら削除しておく
>  If Dir(Opath & Ofile) <> "" Then Kill (Opath & Ofile)
>  '改めて保存
>  newbook.SaveAs Filename:= _
>   Opath & Ofile, _
>   FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
>   ReadOnlyRecommended:=False, CreateBackup:=False
>End Sub
>これでどうでしょうか?
>再起動してから確認してみてください。

結果は、・・・だめでした。
また開こうとすると、(ダブルクリックです)
ヘッダには、保存した名前がでるんですけど
それっきり固まってしまいます。
名前を変えてやってみます。
どうぞ宜しくお願いします。

【27721】Re:ファイルを別名保存した後、ファイル...
回答  にんは  - 05/8/17(水) 9:39 -

引用なし
パスワード
   ▼End さん:
>こんばんは。りんさん。
>なるほど。勉強させて頂きました。
>
>以下、りんさんのコードで解決したら不要です。
いまやってみましたが・・だめでした。
>
>逆質問ばっかりで申し訳ないですが
>Q5)OSとXLのバージョンは何でしょう?
双方とも2000です
>
>>>保存したxlsを開こうとすると、Book1.xlsがたちあがるのです。
>Q6)上記操作はダブルクリックですか?通常の[開く]メニューからでは?
ダブルクリックで、りんさんのコードでも通常の開くに関しても
開かず、固まってしまいました。

>>ファイル名がおかしいのかしら。
>できるだけ単純なフォルダとファイル名で、テスト環境のつもりで
>問題のコードを実行してみられるのがいいですよ。(C:\temp\test.xlsなど)
ですね。いまやってみます。

>とりあえず参考URLを。
>『ファイル名に特定の文字が含まれるとダブルクリックでファイルを開くことができない』
>http://support.microsoft.com/kb/831628/JA/
>『[OFFXP] ロングファイル名のフォルダの文書を開くとファイルが開けませんエラー』
>http://support.microsoft.com/kb/409203/JA/
ありがとうございます。
今から見てみます。

【27722】Re:ファイルを別名保存した後、ファイル...
回答  にんは  - 05/8/17(水) 9:43 -

引用なし
パスワード
   >ちなみに"A2【番号】 【名】 様.xls"は実際には
>数字+スペース+漢字+スペース・・・なんでしょうかねぇ?
実際、そのとおりです。

>#にんはさん。ムダレスごめんなさい。
いえいえ、Endさんとりんさんに大変感謝しております。
引き続き宜しくお願いします。

【27724】Re:ファイルを別名保存した後、ファイル...
回答  にんは  - 05/8/17(水) 9:46 -

引用なし
パスワード
   >できるだけ単純なフォルダとファイル名で、テスト環境のつもりで
>問題のコードを実行してみられるのがいいですよ。(C:\temp\test.xlsなど)
名前変えてみたけどだめでした

【27725】Re:ファイルを別名保存した後、ファイル...
発言  Jaka  - 05/8/17(水) 10:00 -

引用なし
パスワード
   こんにちは。
質問、今までの経過をほとんど読んでません。ほとんど理解していないのでトンチンカンな事になるかもしれませんが...。
何となくこれが関係しているんじゃないでしょうか?

マクロでDelete、Copy後SaveAsで保存するとブックが破損
http://support.microsoft.com/default.aspx?scid=kb%3bja%3b265305

その他、少ない情報ですが、ここにあるのかも
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=64;id=FAQ

【27727】Re:ファイルを別名保存した後、ファイル...
回答  にんは  - 05/8/17(水) 10:54 -

引用なし
パスワード
   ▼Jaka さん:
>こんにちは。
>質問、今までの経過をほとんど読んでません。ほとんど理解していないのでトンチンカンな事になるかもしれませんが...。
>何となくこれが関係しているんじゃないでしょうか?
>
>マクロでDelete、Copy後SaveAsで保存するとブックが破損
>http://support.microsoft.com/default.aspx?scid=kb%3bja%3b265305
>
>その他、少ない情報ですが、ここにあるのかも
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=64;id=FAQ

Jaka さんありがとうございます
見てみました。エクセルの制御等を今調べています。

【27728】Re:ファイルを別名保存した後、ファイル...
発言  りん E-MAIL  - 05/8/17(水) 11:40 -

引用なし
パスワード
   にんは さん、おはようございます。
>>ちなみに"A2【番号】 【名】 様.xls"は実際には
>>数字+スペース+漢字+スペース・・・なんでしょうかねぇ?
>実際、そのとおりです。

ブックを適当に作って保存して、マクロで開いてみましょう。

Sub test()
  Dim wb As Workbook
  '
  Set wb = Application.Workbooks.Add
  With wb.Worksheets(1).Cells(1, 1)
   .Value = Now
   .EntireColumn.AutoFit
  End With
  '
  Ofile = CurDir & "\" & Format(Now, "MMDD_HHMMSS") & ".xls" 'かぶらない名前
  wb.SaveAs Ofile '保存
  wb.Close
  '
  Set wb = Nothing
  '
  MsgBox "一旦閉じた?", vbOKOnly
  '
  Application.Workbooks.Open Ofile
End Sub

再び開くことができたら、メニューから開き、最後にフォルダからダブルクリックで開いてみてください。

【27737】Re:ファイルを別名保存した後、ファイル...
発言  End  - 05/8/17(水) 15:01 -

引用なし
パスワード
   ▼Jaka さん:
こんにちはJakaさん。ちょっと本筋外れますが、
>その他、少ない情報ですが、ここにあるのかも
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=64;id=FAQ
なるほどですね。こういうスレッドがあると為になりますね。
検索してもなかなかHITしない事もありますし。
勉強させていただきました。ありがとうございます。

【27738】Re:ファイルを別名保存した後、ファイル...
発言  End  - 05/8/17(水) 15:04 -

引用なし
パスワード
   ▼にんは さん:
こんにちは。みなさん。
http://www2.moug.net/bbs/exvba/20050816000022.htm
>> もしかして、Excel以外のソフトからExcel操作してる?
>はい。Accessから起動してます。
がっくり。情報はきちんと提示しましょうよ。
#ん〜…気づかなかった私が情けないので退散します。T_T

【27739】Re:ファイルを別名保存した後、ファイル...
発言  にんは  - 05/8/17(水) 15:19 -

引用なし
パスワード
   ▼End さん:
>がっくり。情報はきちんと提示しましょうよ。
End さん、すみません。
頭が混乱していて。。。

>#ん〜…気づかなかった私が情けないので退散します。T_T
そんな〜お助けください。

【27921】Re:ファイルを別名保存した後、ファイル...
発言  りん E-MAIL  - 05/8/24(水) 12:31 -

引用なし
パスワード
   にんは さん、こんにちわ。

>▼End さん:
>>がっくり。情報はきちんと提示しましょうよ。
>End さん、すみません。
>頭が混乱していて。。。
>
>>#ん〜…気づかなかった私が情けないので退散します。T_T
>そんな〜お助けください。

向こうの流れを見て思ったんですが、ファイルをコピーするだけならば、ブックを開いて内容をコピーする必要はなさそうですね。

だから、開く→コピー→保存の一連の処理をFileCopyステートメントか、FSOのCopyFileメソッドあたりで代替してみてはいかがでしょうか?
VB(A)ヘルプより
引用開始=====
FileCopyステートメントの使用例
次の例は、FileCopy ステートメントを使って、ファイルをコピーします。この例のファイル SRCFILE には、データが含まれているものと仮定します。

Dim SourceFile, DestinationFile
SourceFile = "SRCFILE"      ' コピー元のファイル名を指定します。
DestinationFile = "DESTFILE"    ' コピー先のファイル名を指定します。
FileCopy SourceFile, DestinationFile  ' ファイルをコピーします。
引用終了=====
エラーになる条件とかもあるので、詳しいことはヘルプを見てね。

9342 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free