こんにちは、
下記の文で、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
A 回答 (1件)
- 最新から表示
- 回答順に表示
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 'ここは、単純に!
としたらどうでしょうか。
この回答への補足
こんにちは、
エラー内容は
「SaveAsメゾットは失敗しました。 _WORKBOOKオブジェクト」
と出まして、
Fname=C:\作業\開発\20080829\準備\課\G1.xls
の状態で行ったのですが、
やはりエラーがでてしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
マクロで"#N/A"のエラー行を削...
-
お助けください!VBAのファイル...
-
String""から型'Double'への変...
-
VBでSQL文のUPDATE構文を使った...
-
インポート時のエラー「データ...
-
VBAでfunctionを利用しようとし...
-
実行時エラー'-2147467259(8000...
-
Python openpyxlを使用したセル...
-
実行時エラー 438 の解決策をお...
-
VBA データ(特定値)のある最...
-
VB.net 重複チェックがしたいです
-
文字列内で括弧を使うには
-
フランスの生年月日(jj/mm/aaaa)
-
html5 エラー
-
pythonのopenpyxlについて
-
【VBAエラー】Nextに対するFor...
-
error C2664: 'LPCTSTR' に変換...
-
日付書式のString型からData型...
-
Excel VBA 複数ブックシートご...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
On ErrorでエラーNoが0
-
お助けください!VBAのファイル...
-
VBA データ(特定値)のある最...
-
インポート時のエラー「データ...
-
実行時エラー'-2147467259(8000...
-
ACCESSで値を代入できないとは?
-
VB.net 重複チェックがしたいです
-
ActiveCell.FormulaR1C1の変数
-
ApplicationとWorksheetFunctio...
-
【VB.NET】 パワポ操作を非表示で
-
「実行時エラー '3167' レコー...
-
フランスの生年月日(jj/mm/aaaa)
-
【マクロ】 IFERROR関数をマク...
おすすめ情報