• 締切済み

SaveAsエラー回避

こんにちは、 下記の文で、ActiveWorkbook.SaveAs の部分で一度エラーが 起こってしまい処理が中断してしまうのですが、 そこからF5で、再処理を実行したら正常に保存されるという現象が 起こってしまいます。 何か対処方法はないでしょうか。 Application.Calculation = xlCalculationAutomatic '自動計算 ActiveWorkbook.Protect Password:=M_PASSBOOK 'ブック保護 'ファイル保存 ActiveWorkbook.SaveAs Filename:=M_OUTFILENAME & "\(課)" & Mid(M_SECTDY(Ia, 2), 1, Len(M_SECTDY(Ia, 2)) - 3) & "_" & M_SECTDY(Ia, 1) & ".xls" ActiveWorkbook.Close

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 正確に、全体が書かれていないので、エラーが起こる原因は分かりませんが、保存前のファイル名の取り方としては、複雑だと思います。悪いわけではないのですが、今回のような凝った造りですと、どこかでエラーが起こりやすくなりますし、発見しにくいです。 M_SECTDY(Ia, 2) が、一体何なのか分かりませんが、もし、セルを参照しているなら、 一旦変数を取って、 Application.Calculation = xlCalculationAutomatic の後に、 Fname = M_OUTFILENAME & "\(課)" & Mid(M_SECTDY(Ia, 2), 1, Len(M_SECTDY(Ia, 2)) - 3) & "_" & M_SECTDY(Ia, 1) & ".xls"  '本来は、ファイル名にふさわしいかチェックが必要です。 '特に、「 "\(課)"」の部分は、もしも、ディレクトリの区切りでなかったら、エラーになります。 取得して、それから、 ActiveWorkbook.Protect Password:=M_PASSBOOK 'ブック保護 ActiveWorkbook.SaveAs Filename:=FName  'ここは、単純に! としたらどうでしょうか。

lensent
質問者

補足

こんにちは、 エラー内容は 「SaveAsメゾットは失敗しました。 _WORKBOOKオブジェクト」 と出まして、 Fname=C:\作業\開発\20080829\準備\課\G1.xls の状態で行ったのですが、 やはりエラーがでてしまいました。

関連するQ&A