質問するログイン新規登録
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

1380閲覧

vbaで既存のxlsファイルを保存しようとするとxlsxで名前を付けて保存画面が出て処理が止まる

golgo13100

総合スコア4

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/02/29 03:57

0

0

前提・実現したいこと

excel2010のvbaでxlsのまま使用しているファイルが多数あり、名前などのゴミを削除後に
close trueでセーブして閉じる処理を書いています。

発生している問題・エラーメッセージ

大部分のxlsファイルはうまく処理できるのですが、一部のファイルだけ、closeできずに
on error goto 飛び先のエラー処理に飛んだり、xlsファイルなのに名前を付けて保存の
画面が表示され、xlsxで保存するか聞いてきてしまいます。

試したこと

ちなみにそのファイルを手でxlsで一旦保存し直してからvbaを動かすと正常にvbaで
処理がされます。
但し、気になるのは手でxlsで一旦保存する時に互換性がない部分があるが、xlsで保存するか
という画面が出てきましたがそのまま保存をしたことです。
closeの前にsaveを入れたり、save asでfileformatで指定したりしましたが同じでした。

補足

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/02/29 04:00

どんなコードですか?
guest

回答2

0

互換性のチェックを無視するなら下記にある、ActiveWorkbook.CheckCompatibilityを試してみてはどうでしょうか。
Excel 2007 および Excel 2010 の互換性チェックの操作

投稿2020/02/29 12:46

sazi

総合スコア25430

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

golgo13100

2020/03/04 07:03

sazi様 慣れないもので自己解決を投稿したらベストアンサーにできなくなりましたのでこちらでお礼申し上げます。
sazi

2020/03/04 08:05

解決済みを一旦外せば可能ですよ。 でも、お気になさらなくて、大丈夫ですよ。
guest

0

自己解決

アドバイスをいただいた方ありがとうございました。
いろいろ試行錯誤した結果、理由は今一理解できておりませんが、既存ファイルの拡張子を保持しておき、同じ拡張子をsaveasのfileformatを指定したところ、正常に動作するようになりました。

ActiveWorkbook.CheckCompatibilityをご教示いただいた方、関連した点でとても参考になったので
この方をベストアンサーとさせていただきました。

投稿2020/03/04 07:00

golgo13100

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問