次の方法で共有

Excel2016 VBA Workbook_Open() イベントのActiveWorkbook.SaveAs Filenameでファイル名を変更すると変更前のファイルも開いてしまう

Anonymous
2017-09-28T02:33:00+00:00

以下のプロシージャをステップで実行すると開いたブックの名前を変更して保存出来、変更したブックをそのまま編集出来るが

このブックを開くとプロシージャが自動実行する。その時、開いたブックの名前を変更して保存出来るが、変更前のブック名のブックが

アクティブで開いてしまう。(2つのブックが開いた状態になる)変更前のブック名のブックが開かない様にする方法が知りたい。


Dim 現在のファイルパス As String

Dim 現在のファイル名 As String

Dim 変更後のファイル名 As String

Dim 現在のファイル拡張子の文字 As String

'ファイル名を変更して保存する

Private Sub Workbook_Open()

現在のファイル名 = ActiveWorkbook.Name

現在のファイルパス = ActiveWorkbook.Path

現在のファイル拡張子の文字 = Mid(現在のファイル名, (InStr(現在のファイル名, ".")))

現在のファイル名 = Replace(現在のファイル名, 現在のファイル拡張子の文字, "")

変更後のファイル名 = InputBox("新規作成するファイル名を入力してください", "ファイル名変更", 現在のファイル名)

 If Dir(現在のファイルパス & "" & 変更後のファイル名 & 現在のファイル拡張子の文字) = "" Then 'ファイルがない時

     If 変更後のファイル名 <> "" Then

        ChDir 現在のファイルパス

        ActiveWorkbook.SaveAs Filename:=現在のファイルパス & "" & 変更後のファイル名 & 現在のファイル拡張子の文字

     End If

 End If


開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2017-09-29T11:32:31+00:00

    了解致しました。有り難うございます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2017-09-29T00:21:01+00:00

    ​中嶋NQ さん、こんにちは。

    マイクロソフト コミュニティへの投稿、ありがとうございます。

    プロシージャを自動実行させた時に変更前のファイルが開かないようにしたいのですね。

    せっかくこちらに投稿していただいたのですが、今回の質問は開発者向けの MSDN フォーラムに VBA 専用フォーラムがありますので、そちらでアドバイスを集めてみると良いと思います。

    MSDN > Visual Basic for Application(VBA)

    よろしければご活用ください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません