Excel VBAでファイル名にプロジェクト名を追加する方法

Excelのファイルを扱う際、特定のプロジェクトに関連するファイルにプロジェクト名を追加することで、管理や識別を容易にすることができます。この記事では、Excel VBAを利用して、ファイル名にプロジェクト名を追加する方法を紹介します。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

VBAを使用した基本的な方法

Excel VBAを使用してファイル名にプロジェクト名を追加する基本的な方法を以下に示します。


Sub AddProjectName()
    Dim oldName As String
    Dim newName As String
    Dim projectName As String
    
    'プロジェクト名の設定
    projectName = "SampleProject_"
    
    '現在のファイル名を取得
    oldName = ThisWorkbook.Name
    
    '新しいファイル名を設定
    newName = projectName & oldName
    
    'ファイル名を変更
    ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & newName
End Sub

コードの詳細解説

このコードは、現在開いているExcelファイルのファイル名の前にプロジェクト名を追加するものです。

– `projectName = “SampleProject_”` : プロジェクト名を設定します。
– `oldName = ThisWorkbook.Name` : 現在のExcelファイルの名前を取得します。
– `newName = projectName & oldName` : 新しいファイル名を生成します。
– `ThisWorkbook.SaveAs ThisWorkbook.Path & “\” & newName` : 新しいファイル名でファイルを保存します。

応用例

1. プロジェクト名を入力ボックスから取得する

ユーザーからの入力を受け取るための入力ボックスを使用して、プロジェクト名を動的に設定します。


Sub AddProjectNameInput()
    Dim oldName As String
    Dim newName As String
    Dim projectName As String
    
    '入力ボックスからプロジェクト名の取得
    projectName = InputBox("プロジェクト名を入力してください:") & "_"
    
    '現在のファイル名を取得
    oldName = ThisWorkbook.Name
    
    '新しいファイル名を設定
    newName = projectName & oldName
    
    'ファイル名を変更
    ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & newName
End Sub

2. ファイルの更新日時をファイル名に追加する

ファイルの更新日時をファイル名の末尾に追加して、バージョン管理を容易にします。


Sub AddDateToFileName()
    Dim oldName As String
    Dim newName As String
    Dim currentDate As String
    
    '現在の日付を取得
    currentDate = Format(Now, "yyyymmdd")
    
    '現在のファイル名を取得
    oldName = ThisWorkbook.Name
    
    '新しいファイル名を設定
    newName = Replace(oldName, ".xlsx", "") & "_" & currentDate & ".xlsx"
    
    'ファイル名を変更
    ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & newName
End Sub

3. 複数のプロジェクト名を含むファイル名を作成する

複数のプロジェクトに関連するファイルの場合、すべてのプロジェクト名をファイル名に追加します。


Sub AddMultipleProjectNames()
    Dim oldName As String
    Dim newName As String
    Dim projects As Variant
    Dim projectName As String
    Dim i As Integer
    
    'プロジェクト名のリスト
    projects = Array("ProjectA", "ProjectB", "ProjectC")
    
    '現在のファイル名を取得
    oldName = ThisWorkbook.Name
    
    For i = LBound(projects) To UBound(projects)
        projectName = projectName & projects(i) & "_"
    Next i
    
    '新しいファイル名を設定
    newName = projectName & oldName
    
    'ファイル名を変更
    ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & newName
End Sub

まとめ

Excel VBAを使用して、簡単にファイル名にプロジェクト名を追加することができます。上記の基本的な方法や応用例を参考にして、自分のニーズに合わせたファイル名の自動生成を行ってみてください。効率的なファイル管理の一環として活用することで、作業の生産性を向上させることができます。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次