EXCEL ファイルの VBAで、 OneDrive上の ファイルを コピーして XLSX および XLS旧フォーマット 両方の 保存形式で ファイルを 保管しようとしています。
WINDOWS8.1 EXCEL2013 を 使用しています。
ONEDRIVE上へ、コピー作成する同名ファイルがなく、 新規のファイルを コピー作成する場合は 『Microsoft Excelは動作を停止しました。』 というエラーが (ファイルをコピー作成していますが)、 出てしまいます。
上書きする場合は エラー がでない模様です。
'
Sub 旧EXCEL形式保管()
'
Application.DisplayAlerts = False
'
Dim PathName, FileName1, FileName2, FileName3 As String
'
PathName = ActiveWorkbook.Path
FileName1 = "テスト.xlsx"
FileName2 = "テストCOPY旧.xls"
FileName3 = "テストCOPY新.xlsx"
'
Workbooks.Open Trim(PathName) & "\" & Trim(FileName1)
Windows(Trim(FileName1)).Activate
'
ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName3)
ActiveWorkbook.Close
'
Workbooks.Open Trim(PathName) & "\" & Trim(FileName1)
Windows(Trim(FileName1)).Activate
'
If Application.Version < 12 Then
ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName2), FileFormat:=xlExcel9795
Else
ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName2), FileFormat:=xlExcel8
End If
'
ActiveWorkbook.Close
'
End Sub
'
より効率的な VBA記述、 エラーへの対処方法 を 教えていただけないでしょうか?
よろしく お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> *** この行で エラーが 発生します。
だから、どの行?
ActiveWorkbook.SaveAsの行? ActiveWorkbook.Closeの行?
SaveAsの行なら、
> FileFormat:=xlExcel8
の右辺を定数値[56]にしてみる。
Closeの行なら、Quitにしてみる。
この回答への補足
エラーが出る行を ご指摘のとおり 下記のように 変更してみましたが、同様の エラーが まだ発生します。
If Application.Version < 12 Then
ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName2), FileFormat:=xlExcel9795
Else
''' ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName2), FileFormat:=xlExcel8
ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName2), FileFormat:=56
End If
'
すみませんが、よろしく お願いします。
No.1
- 回答日時:
どの行でエラーになりますか?
特定できてないなら、
> Application.DisplayAlerts = False
をやめて、F8で一行ずつ実行。
この回答への補足
さっそくの 回答ありがとうございます。
If Application.Version < 12 Then
ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName2), FileFormat:=xlExcel9795
Else
*** ActiveWorkbook.SaveAs Filename:=Trim(PathName) & "\" & Trim(FileName2), FileFormat:=xlExcel8
End If
*** この行で エラーが 発生します。
言い忘れていましたが、 Windows7 Excel2010 の組み合わせで実施した場合は エラーとなりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
onedrive にexcelファイルをアップロードしようとするとエラーがでる。
Microsoft ASP
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
5
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
6
VBAファイルの保存先について
その他(Microsoft Office)
-
7
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
8
エクセルVBAでオプションボタンを無効にする方法
Excel(エクセル)
-
9
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
10
VBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗
Access(アクセス)
-
11
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
12
マクロの「SaveAs」でエラーが出るのを解消したいです
Visual Basic(VBA)
-
13
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
14
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
15
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでレジストリキーの...
-
gccを行ってもexeファイルが生...
-
アクセスのクエリでコンパイル...
-
cube PDFについて
-
NAS上のファイルの使用中が解除...
-
fgets関数のEOFの扱い方について
-
OUTLOOK VBA 指定フォルダ内の...
-
Adobeのプレミアプロの書き出し...
-
Access2013にてドラッグ&ドロ...
-
ファイルクローズ(fclose)でエ...
-
freadでデータがない場合の読込...
-
EXCEL マクロについて教えてく...
-
FTPの送信結果を検知したい
-
「パス名が無効です」の発生原因
-
ADOのMoveNextでアプリケーショ...
-
VB実行時エラー75:「パス名が...
-
エクセル「これ以上新しいフォ...
-
VB.NETでUnzip32.DLLを使うには?
-
ファイルのオープンについて
-
VBでファイルが開かれているか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
VBでファイルが開かれているか...
-
「パス名が無効です」の発生原因
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
PowerShellを使って関連付けら...
-
アクセスのクエリでコンパイル...
-
VB6 Dir関数で52エラー発生
-
FTPの送信結果を検知したい
-
NAS上のファイルの使用中が解除...
-
VBA ExecuteExcel4Macro 型が一...
-
access テキストボックスの値取得
-
EXCELのVBAでWORDが開いてある...
-
すでにファイルが開かれている...
-
EXCELVBAでONEDRIVE上への保管...
-
Excelファイルのマクロによる排...
-
OUTLOOK VBA 指定フォルダ内の...
-
エクセルマクロでエラーの原因...
-
Adobeのプレミアプロの書き出し...
おすすめ情報