【拡張子.egfとは】特徴とExcelへの展開方法をわかりやすく解説

目次

はじめに

普段、パソコンを使っていると「.csv」や「.txt」といった拡張子のファイルをよく目にします。しかし、なかには「.egf」という聞き慣れない拡張子のファイルが存在します。この.egfファイルは、特定のソフトウェアや装置で使用される独自形式であり、一般的なCSVファイルとは異なるものです。

本記事では、拡張子.egfの基本的な特徴と、中身をExcelに正しく展開する方法について、実例を交えながらわかりやすく解説いたします。


拡張子.egfとは?

そもそも拡張子とは?

拡張子とは、ファイル名の末尾につく「.(ドット)」以降の文字列のことです。例えば、「data.csv」であれば「.csv」が拡張子です。拡張子は、ファイルの種類や関連付けられたアプリケーションを示す重要な情報です。

一般的な拡張子の例:

  • .txt → テキストファイル
  • .csv → カンマ区切りのデータファイル
  • .xlsx → Excelファイル

このように、拡張子を見ることでファイルのおおよその中身や用途が分かります。


.egfの具体的な意味

結論から申し上げますと、.egfという拡張子は、正式な国際規格や業界標準ではなく、各ソフトウェア開発者が独自に定めたものです。そのため、用途や中身の仕様はソフトウェアによって異なります。

例として知られている用途:

  • EverQuestというゲームのグラフィックデータ(EverQuest Graphics File)
  • Elmer Frontという解析ソフトの幾何データ(Elmer Geometry File)

つまり、「.egf = これ」という明確なルールはなく、ソフトウェア開発元が自由に決めているのが実態です。


実際の.egfファイルの例

今回取り上げる.egfファイルは、以下のような構造を持っています。

Version,"PRODUCT","1.0","DEVICE","CONFIG"
WriteDate,"YYYY/MM/DD hh:mm:ss"
SaveDate,"YYYY/MM/DD hh:mm:ss"
Title,SampleConfigFile.egf
Comment,任意のコメントを入力
MAP
0%,0.0,0.0,0.0,…
5%,0.0,0.0,0.0,…
10%,0.0,0.0,0.0,…
…
SUB,0.0,0.0,…
SUB2,0.0
SUB3,0.0

この形式から分かる通り、カンマで区切られた数値が並んでおり、テキストエディタで内容の確認が可能です。しかし、Excelでそのまま開くと1行に全てが詰め込まれてしまうケースがあるため、適切に行・列を分けて表示する必要があります。


.egfファイルをExcelにきれいに展開する方法

手作業での展開は面倒

テキストエディタで内容をコピーし、Excelで「区切り位置」機能を使って整えることもできますが、毎回この作業を行うのは手間がかかります。そこで、VBAマクロを活用すると、ボタンひとつで自動的に展開できます。


VBAマクロを使った自動展開手順

仕様概要

  1. Excelの「メイン」というシートにボタン(図形)を設置
  2. ボタンを押すとファイル選択ダイアログが開き、.egfファイルを選択
  3. 新規シートを自動で作成し、そこにデータを整形して展開
  4. シート名は「出力_YYYYMMDD」のように、当日の日付が付加される

実際のコード例

以下のVBAコードを標準モジュールに登録してください。

Option Explicit

Sub ImportEgfToNewSheet()
    
    Dim fd As FileDialog
    Dim fPath As String
    Dim fNum As Integer
    Dim lineText As String
    Dim items As Variant
    Dim wsDest As Worksheet
    Dim r As Long, c As Long
    Dim baseName As String, newName As String
    Dim suffix As Long
    
    ' ファイル選択ダイアログ
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        .Title = "EGF ファイルを選択してください"
        .Filters.Clear
        .Filters.Add "EGF Files", "*.egf"
        .AllowMultiSelect = False
        If .Show <> -1 Then Exit Sub
        fPath = .SelectedItems(1)
    End With
    
    ' 出力シート名の作成
    baseName = "出力_" & Format(Date, "yyyymmdd")
    newName = baseName
    suffix = 1
    Do While SheetExists(newName)
        newName = baseName & "_" & suffix
        suffix = suffix + 1
    Loop
    
    ' シート追加とデータ展開
    Set wsDest = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    wsDest.Name = newName
    
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    fNum = FreeFile
    Open fPath For Input As #fNum
    
    r = 1
    Do While Not EOF(fNum)
        Line Input #fNum, lineText
        If Len(lineText) > 0 Then
            items = Split(lineText, ",")
            For c = LBound(items) To UBound(items)
                wsDest.Cells(r, c + 1).Value = Trim$(items(c))
            Next c
            r = r + 1
        End If
    Loop
    
    Close fNum
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    
    MsgBox "インポートが完了しました。シート名: " & newName, vbInformation
End Sub

Private Function SheetExists(sheetName As String) As Boolean
    Dim ws As Worksheet
    For Each ws In Worksheets
        If ws.Name = sheetName Then
            SheetExists = True
            Exit Function
        End If
    Next ws
    SheetExists = False
End Function

ボタンの設置方法

  1. 「メイン」シートを選択
  2. 「挿入」→「図形」から任意の図形を配置
  3. 右クリック →「マクロの登録」で ImportEgfToNewSheet を指定

これで、ボタンを押すだけで.egfファイルの内容が見やすく整形され、新規シートに展開されます。


まとめ

  • .egfはソフトウェアごとの独自拡張子であり、CSVのような業界標準ではありません。
  • 今回の例では、FI CON系の燃調マップデータが.egfファイルとして保存されていました。
  • ExcelとVBAマクロを組み合わせることで、.egfファイルを簡単かつきれいに展開できます。
  • 繰り返し作業が必要な場合、ぜひVBAを活用することで業務効率化を図りましょう。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次