★以下エラー箇所★にて、エラーが発生してしまい修正ができず困っています。
エラー内容は、
「実行時エラー1004,SaveAsメソッドは失敗しました'_Workbook'オブジェクト]
ファイルの種類は、xmlドキュメント(エクセル状態)
Private Sub ファイル名作成()
Dim lastRow As Long
Dim supplierNames As Object
Dim supplierName As Variant
' データの最終行を取得
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
' 仕入先名称を格納するコレクションを作成
Set supplierNames = CreateObject("Scripting.Dictionary")
' データの重複を排除してコレクションに追加
For i = 2 To lastRow ' ヘッダー行を除外
If supplierNames.Exists(Cells(i, "B").Value) = False Then
supplierNames.Add Cells(i, "B").Value, 1
End If
Next i
' コレクションの要素をファイル名として連結
For Each supplierName In supplierNames.Keys
fileName = fileName & supplierName & ","
Next supplierName
' ファイル名の最後のカンマを削除
fileName = Left(fileName, Len(fileName) - 1)
' ファイル名に使用できない文字を削除する
fileName = ReplaceInvalidFileNameCharacters(fileName)
' ファイルを保存
' On Error Resume Next
' ActiveWorkbook.SaveAs fileName:=ActiveWorkbook.Path & "\" & "単価変更リスト_" & Format(Date, "yyyymmdd") & "_" & fileName, _
' FileFormat:=xlOpenXMLWorkbook
★以下エラー箇所★
ActiveWorkbook.SaveAs fileName:=ActiveWorkbook.Path & "" & "単価変更リスト_" & Format(Date, "yyyymmdd") & "_" & fileName & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
' If Err.Number > 0 Then
' MsgBox ("ファイルを選択してください")
' End
' End If
'単価リストブックアクティブ用
priceListBook = ActiveWorkbook.Name
End Sub
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは
ご質問と直接には関係ありませんが・・
>fileName:=ActiveWorkbook.Path & "" & ~~
の部分は、普通に考えるとコメントアウトされている方の
> fileName:=ActiveWorkbook.Path & "\" & ~~
の方が一般的なように感じますけれど、そういう意図なのでしょうか。
(どちらでも、処理上は問題にはなりませんけれど)
エラーの原因となりそうな点を想像してみると・・
1)ReplaceInvalidFileNameCharacters関数の内容が不明ですが、意図通りの処理になっていないということはありませんか?
2)ファイル名の文字数制限やファイルパスの文字数制限に引っかかってはいませんか?
ファイル名を文字列連結で作成しているので、かなり長くなる可能性がありそうです。
(パスの文字数制限は、確か、260文字程度だったように思います)
いずれの場合も、最終的に作成されたパスを確認してみればわかるのではないかと思いますけれど・・
ありがとうございました。盲点でした。
ファイル名にA株式会社,B~C~とずっと続いており、エクセルの方の行を半分削除したらいけました。
文字数制限のようでした。
No.3
- 回答日時:
こんにちは
マクロ付きのブックをFileFormat:=xlOpenXMLWorkbookで保存したいと言う事であれば(処理部分はコピペ)
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=ActiveWorkbook.Path & "" & "単価変更リスト_" & Format(Date, "yyyymmdd") & "_" & FileName & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
手動で名前を付けて保存の時に聞かれるアラートをYesで選択と同じ処理になります
ちなみに
ActiveWorkbook.Path & の後にファイルパスの区切り文字(セパレーター)が必要かどうかは目的パスによると思います・・
No.2
- 回答日時:
すみません、別拡張子で保存したいということですね
別途エディタを開いて拡張子をtxtにして全コピペすればいけますよ
わからなかったらデスクトップにa.txtとか作成して
メモ帳で開いて全コピーでも
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) word_VBA_フォームからダイアログそこからの復帰について 2 2021/12/13 23:44
- Visual Basic(VBA) シート名をフォルダ名に変更 1 2021/12/01 15:59
- Visual Basic(VBA) excel VBAでメールを送る方法について 2 2021/11/03 15:34
- Visual Basic(VBA) EXCLE VBA シートクリックしたら該当シートコピー 1 2021/11/11 16:37
- Visual Basic(VBA) サブフォルダ含むすべてのフォルダの Excel 検索 4 2021/12/13 09:33
- Visual Basic(VBA) 空のシートに関数を入れたい 2 2021/12/03 15:08
- Visual Basic(VBA) wordのマクロで思うように行きません(ファイル削除ができない) 3 2023/09/12 08:34
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- Visual Basic(VBA) シート名でファイル検索する 2 2021/11/30 17:05
- Visual Basic(VBA) 転記先VBA 一致しているセルがコピーされない 5 2021/11/15 17:23
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
自動VBAマクロって会社の中で禁止なんですか?
Visual Basic(VBA)
-
Vba ユーザ定義関数について教えてください
Visual Basic(VBA)
-
Vba Cells.Findについて教えてください
Visual Basic(VBA)
-
-
4
wordのマクロで思うように行きません(ファイル削除ができない)
Visual Basic(VBA)
-
5
Excel:文字との間に数字の組合せ、次のセルの数字を1ずつ増やすには?
Excel(エクセル)
-
6
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
7
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
8
select case について
Visual Basic(VBA)
-
9
VB.NETでVBスクリプトを作るにはどうしたらいいですか?
Visual Basic(VBA)
-
10
Excelマクロで空白セルの大小比較処理について
Visual Basic(VBA)
-
11
マクロVBAについてご教授いただけましたらと存じます。
Visual Basic(VBA)
-
12
csvファイルを列数ごとに分割するExcelマクロが書けずに困っています
Visual Basic(VBA)
-
13
VisualStudio2022をマクロみたいに自動プログラムを作成する方法を教えてください。
Visual Basic(VBA)
-
14
一つのフォルダーに50個のエクセルファイルがあります。 各ファイルにはAとBのシートがあります。 5
Visual Basic(VBA)
-
15
Windows 11 Pro での、VBAのCode書き換えで、1点お教え願います。
Visual Basic(VBA)
-
16
VBA とびとびの列を結合させる
Visual Basic(VBA)
-
17
エクセル VBAでの転記の方法について
Visual Basic(VBA)
-
18
VBEを開くのにコマンド名が「Visual Basic」な理由はなぜ?
Visual Basic(VBA)
-
19
Excelの各シートを色ごとで分類して値転記するマクロの作り方を教えて下さい。
Visual Basic(VBA)
-
20
引数に数値、文字列の混在
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
Debug Assertion Failed?
-
NET USE コマンドでエ...
-
シェルスクリプトの実行エラー...
-
WNetAddConnection*()の使い方
-
IEのエラーについて
-
Access ADOで文字列を日付型へi...
-
LTspiceのTime Stepエラーについて
-
実行時エラー'1004': アプリケ...
-
VB5のEXEの起動時エラー
-
ExcelVBAでODBCドライバを使っ...
-
エラーコード 70 「書き込み...
-
OWCの設定について
-
複数フォルダに格納されたファ...
-
vbaでファイルを開くパス名に変...
-
FileUploadを利用しての画像保存
-
pythonをjupiter notebookからm...
-
ASPでoo4o接続ができません。
-
CreateObjectでエラー
-
Excel ファイルに保存すると実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Debug Assertion Failed?
-
VBAでFormat がうまく使えない
-
NET USE コマンドでエ...
-
Excel ファイルに保存すると実...
-
シェルスクリプトの実行エラー...
-
Web.Config 構成ファイルのエラー
-
ホームページビルダーの”全体の...
-
エラーコード 70 「書き込み...
-
vbaでファイルを開くパス名に変...
-
C# HttpWebRequestのエラーにつ...
-
ACCESS VBAのOpenForm書き方
-
VBAで印刷するとエラーになって...
-
POV-Ray についての質問です!
-
不明なソフトウェア例外(0xe06...
-
Access ADOで文字列を日付型へi...
-
WNetAddConnection*()の使い方
-
LTspiceのTime Stepエラーについて
-
bcpadがうまく実行できないので...
-
xmlドキュメントから別拡張子で...
-
VB2010ビルドできるが配...
おすすめ情報
アドバイスしていただき、ありがとうございます。
早速、テストしてみましたが同じエラーが同じ場所で発生しています。
&の後に\を入れ忘れていたので、入れましたが同じでした。
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs fileName:=ActiveWorkbook.Path & "\" & "単価変更リスト_" & Format(Date, "yyyymmdd") & "_" & fileName & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
種類をXLSXでマクロを実行しても同じ結果となりました。