• 締切済み

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

  • SaveAsの保存先について

    エクセルのマクロのついての質問です よろしくお願いします 現在、下記のようなコードでマクロを実行するとパスワードをつけて上書き保存したような結果になっています(元のファイル名も○○.xlsで、指定したものと同一です) Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="○○.xls", FileFormat:=xlNormal, Password:="1111", WriteResPassword:="2222", ReadOnlyRecommended _ :=False, CreateBackup:=False Application.DisplayAlerts = True 私の目的としてはそれでよいのですが、このように格納先を指定しなかった場合は 必ず元のファイルと同一のフォルダになるってくれるものなのでしょうか? それとも状況によって別なところに名前をつけて保存されてしまったりすることがありますか?

  • Excel マクロのsaveasでファイル保存の方法で教えて下さい

    Excel2003で、USBメモリ上の2つのファイル(マクロを保存したmacro.xls及び作業を行うsagyo.xls)を開き、マクロをかけて、最後にxlsファイル形式で上書き保存したいのですが、 (1)ActiveWorkbook.Save で、上書き保存を行うと、なぜかUSBメモリ上にhtmlファイル保存されてしまいます。このため、xlsファイル形式保存をあえて明示し、saveasの既定値であるxlWorkbookNormalを指定し、 (2)ActiveWorkbook.SaveAs , FileFormat:=xlWorkbookNormal とすると、(カレントフォルダである)マイドキュメントに保存されてしまいます。 Q1.(1)のようになる原因は何でしょうか? Q2.USBメモリは、他のPC環境でも使うので、「saveas "F:\sagyo.xls"」などとドライブ指定せずに使いたいのですが、USBメモリ上に上書き保存するマクロの書き方はないでしょうか?

  • マクロ 保存の仕方

    ' 指定の場所に保存する ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\Owner\デスクトップ\A\B\" & Replace(Range("k2").Value, "/", "") & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False ActiveWorkbook.Close 上記のようにマクロを組みましたが、同じ名前で1回保存すると2回目からエラーします。 2回目から保存名の後ろに(2)、3回目は(3)等を付けて保存したいのですが。

  • ファイルの保存先のパス

    マクロでデスクトップに保存させたいのですが、 ActiveWorkbook.SaveAs Filename:= _ "D:\Documents and Settings\●●●\デスクトップ\Book1.xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False の●●●のように、私のユーザー名が入ります。 このファイルは色々な人に使ってもらいたいので、 LOCALみたいな意味合いの言葉を入れたいのですが、 なんと入れたら良いでしょうか? ご存知の方いらっしゃいましたら宜しくお願いします。

  • Excel/VBAのファイル保存

    いつもここでは大変お世話になっています。 以下のように名前をつけて保存をしているのですが、 同名のファイルがあった場合でも上書き確認せずに上書きをさせる方法を教えて下さい。 お願いします。 ActiveWorkbook.SaveAs Filename:= _ "\\PC名\ディレクトリ名\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False

  • エクセルVBAのメソッドSaveasについて

    Dell Dimention8300 HDD 80GB (空き領域 17.4GB) Pentium4 2.6GHz 512MB RAM Windows XP Pro/エクセル2002使用です。 エクセルVBAで下記のようファイルを追加するようにしました。 ブックA(.xls) 147KB ブックB(.xls) 18KB ブックC(.xls) 7,955KB ブックAにマクロを記述 ブックBから新しいファイルをつくる個数を取得 略 for i = 1 to (新しく作る個数)  Workbooks("ファイルC").Activate  ActiveWorkbook.SaveAs FileName:="C:\・・・・・・(新ファイル名)" next 略 ファイルCをメソッドSaveAsにて新しいファイルを作っていくのですが、その個数が数十個程度あれば問題ないのですが、100個を越えると非常に遅くなるか、途中でプログラムの応答がなくなります。 メソッドSaveAsが、CPUかメモリを浪費しているのかと思うのですが、関係あるでしょうか? よろしくお願いします。

  • Excelマクロで年度別にフォルダ作成したい。

     Excel2003です。  日々の売り上げ集計ファイルをボタン一つで保存していくマクロを作っています。 Application.DisplayAlerts = False If Dir(ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計", vbDirectory) = "" Then MkDir Path:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計" ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Else ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False  とりあえず指定のフォルダに「yymmdd.xls」という名前をつけて保存、もしフォルダがなければ作るというところまで作れました。そこで、今度は「**年度」というフォルダに自動的に保存され、もし「**年度」というフォルダがなければ作るようにしたいのです。上に上げたマクロでは「**年」というフォルダを作ってその中に保存というところまでは出来ているのですが……。とにかく年度で分ける場合の処理がよくわかりません。  回答よろしくお願いします。

  • VBAでエラーが出ます

    セルの値を変数に格納して、それをブック保存時に使いたいのですが上手くいきません。 Sub サンプルブック保存() Dim myfile As String myfile = workbooks("サンプル").Worksheets("sheet1").Cells(2, 9) workbooks.Add ActiveWorkbook.SaveAs Filename:="\\C:\フォルダ\" & myFile & ".xls" End Sub エラーメッセージは、 実行時エラー'1004': SaveAs'メソッドは失敗しました'_Workbook'オブジェクト と出ます。 非常に困ってます。 教えてくだされば幸いです。

  • マクロが思い通りに動きません

    エクセルでマクロを使いボタンを 作りました。ボタンを押すとHDDとDVDに保存される仕組みになっています Sub DVD() ChDir "E:\" ActiveWorkbook.SaveAs Filename:=Format(Now, "yyyy-mm-dd(hh時mm分ss秒)"), FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub Sub HDD() ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\***\デスクトップ\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub これだとDVDへ保存が上手くいきません。DVDからエクセルを開いて使えば問題ないのですが、デスクトップから開くと日付入りのデータがデスクトップに保存されてしまいます。 どうやって書き換えたらいいでしょうか

  • エクセル2007でエクセル2003形式で保存しようとしたときに、互換性

    エクセル2007でエクセル2003形式で保存しようとしたときに、互換性チェックのアラートを出さずに保存するには、どのようにマクロ記述すればよいですか。 ActiveWorkbook.SaveAs Filename:= "book1.xls", FileFormat:=xlExcel8 の前か後に何かを記述すれば良いと思うのですが、それがわかりません。 よろしくお願いいたします。

TS8730の操作パネルの閉め方
このQ&Aのポイント
  • TS8730の操作パネルの閉め方について解説します。
  • TS8730の操作パネルはプリント時に自動的に上がり、排出トレーが出ますが、プリントが終わった後も操作パネルは上がったままです。
  • 操作パネルを手動で閉じる方法についてご紹介します。
回答を見る

専門家に質問してみよう