ここから本文です

VBA 「名前をつけて保存」で元のファイル名に文字を追加して保存する方法に関して ...

k_s********さん

2019/6/1310:59:52

VBA 「名前をつけて保存」で元のファイル名に文字を追加して保存する方法に関して

仕事でExcelにVBAコードを組み込んでいます。

上記内容でコードを作成してなんとかできあがったんですが、出来上がった新しいファイルの元のファイル名に拡張子がくっついてきます。

例)元ファイル名 〇〇管理データ
)新ファイル名 納品用_〇〇管理データ.xlsm←これです。

作ったコードはxlsxにして保存するコードです。
ファイル自体はちゃんとxlsxになっています。

どのように修正したらいいでしょうか。
ご教授頂けましたら幸いです。

下記作ったコードです。↓↓

Sub 別名で保存()

Application.DisplayAlerts = False
Dim th As String
Dim oldfilename As String
th = ThisWorkbook.Path
oldfilename = ThisWorkbook.Name
ThisWorkbook.SaveAs Filename:=th & "\納品用_" & oldfilename & ".xlsx", FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True

MsgBox"納品用データを作成しました。"

End Sub

閲覧数:
37
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

auq********さん

編集あり2019/6/1313:21:59

oldfilename = Left(oldfilename, InStrRev(oldfilename,".")-1)

これを

oldfilename = ThisWorkbook.Name

の下に追加してください。

変数名は使いまわししていますが、別変数を用意して使っても構いません。

別変数を使う場合は
ThisWorkbook.SaveAs Filename:=th &"\納品用_"&oldfilename &".xlsx", FileFormat:=xlOpenXMLWorkbook

のoldfilenameも別変数に変更してください。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2019/6/13 13:35:30

Left(oldfilename, InStrRev(oldfilename,".")-1)とはどんな意味なのか、初心者のわたしにはまだちょっと難しいですが、これから勉強していきたいと思います。
ご回答頂きましてありがとうございました!

ベストアンサー以外の回答

1〜1件/1件中

tok********さん

2019/6/1311:09:55

そのソースはご自分で書かれたんじゃないんですか?
思いっきりヒントというか正解が載ってますが。

& "文字列" &

を任意の位置に入れればいいです。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる