Excel住所録を筆ぐるめに移すためのCSVファイルの作り方


 前提条件

  1. 筆ぐるめの「マーク1」は“喪中”として使用する。
    • 当年度喪中の方はチェックを入れる。
  2. 筆ぐるめの「マーク2」は“欠礼”として使用する。
    • 年賀状を永久欠礼する方はチェックを入れる。
  3. 筆ぐるめの「メモ」欄に、Excel住所録から作成したことが判るような文言を入れる。
  4. Excel住所録で「関係」を使っている時は、住所録を分割する。


 CSV形式ファイルの項目

No Excel住所録 筆ぐるめ 備考
1 No   該当項目なし 
2 氏名 名前   
3 かな   該当項目なし
4   氏名読み Excelで作る。
5 関係   該当項目なし
6 欠礼   該当項目なし
7   マーク1 「欠礼」:欠礼が3000以上の時は“○”を入れる。
8   マーク2 「喪中」:欠礼が2011の時は“○”を入れる。
9 連名 連名1  
10 電話番号 自宅電話番号   
11 郵便番号 自宅郵便番号  
12 住所1   該当項目なし
13 住所2   該当項目なし
14   自宅住所 住所1+" "+住所2 とする。(作る)
15 桁1   該当項目なし
16   メモ Excel住所録No.**” とする。


 ここで使用したマクロ(VBA

Attribute VB_Name = "ぐるめマクロ"
Option Explicit

'概要:ふりがなを返す
'   arg氏名:漢字
'   arg書式: 0=カタカナ(デフォルト)、1=ひらがな、以外=カタカナ
Public Function get氏名読み(arg氏名, Optional ByVal arg書式 = 0)
Dim strString As String

    If arg氏名 = "" Then get氏名読み = "": Exit Function
    
    strString = Application.GetPhonetic(arg氏名)
    Select Case arg書式
      Case 0
        get氏名読み = StrConv(strString, vbKatakana)
      Case 1
        get氏名読み = StrConv(strString, vbHiragana)
      Case Else
        get氏名読み = StrConv(strString, vbNarrow)
    End Select

End Function


'概要:2っの住所を全角スペースを挟んで結合する。
'   arg住所1 および arg住所2 に含まれるスペースは削除される。
Public Function get自宅住所(arg住所1, arg住所2)
Dim strString As String

    If arg住所1 = "" Then
        get自宅住所 = ""
    Else
        get自宅住所 = Replace(arg住所1, " ", "", 1, -1, 1) & " " & Replace(arg住所2, " ", "", 1, -1, 1)
    End If

End Function


Public Function getメモ(Optional ByVal arg順序 = "")
Dim strDate As String

    strDate = Format(Date, "gee/mm/dd")
    If arg順序 = "" Then
        getメモ = strDate & " Excel住所録より作成。"
    Else
        getメモ = strDate & " Excel住所録 No." & arg順序 & "より作成。"
    End If
    
End Function


Public Function getマーク1(arg)
    If arg欠礼 = Year(Date) Then
        getマーク1 = "○"
    Else
        getマーク1 = ""
    End If
    
End Function


Public Function getマーク2(arg欠礼)
    If arg欠礼 >= 3000 Then
        getマーク2 = "○"
    Else
        getマーク2 = ""
    End If
    
End Function