連絡先の詳細をVCFデータからExcelシートにインポートしたいと思ったことはありませんか? この記事に従って、VCFファイルからExcelワークシートにデータをインポートする独自のVCFリーダーを作成してください
ダウンロード
あなたがしたい場合tarできるだけ早くソフトウェアを使用するには、次のことができます。
それ以外の場合、DIYをしたい場合は、以下の内容を読むことができます。
GUIを準備しましょう
VCFリーダーアプリケーション用のGUIを準備しましょう。 Sheet1で、VCFファイルのフルパスを保持するフィールドを作成する必要があります。 セル幅を拡大するのではなく、セルを結合してこのフィールドを作成します。 ユーザーがVCFファイルを選択できるようにするには、シートに「参照」ボタンを追加しましょう。 ユーザーがVCFデータをインポートできるようにするための追加のボタンが必要です。 このボタンに「インポート」という名前を付けましょう。
Sheet1は次のようになります
データベースを準備しましょう
Sheet2をデータベースとして使用します。 あなたがしなければならないのは、適切な列ヘッダーを作成することです。 この例では、VCFから名前と組織をインポートします。 そこで、列Aに列ヘッダー「Name」を追加し、列Bに「Organization」を追加しました。
Sheet2は次のようになります
機能させましょう
これでツールのフロントエンドが開発されました。次のステップは、スクリプトを追加してツールを機能させることです。 VBAエディターを開き、Module1に以下のスクリプトを貼り付けます。
Sheet1に戻り、サブ「pickvcf」を「参照」ボタンに追加します。 「インポート」ボタンを右クリックし、マクロ「importvcf」を割り当てます。 ファイルをマクロ対応ファイルとして保存すると、それだけです。 これで、VCFリーダーが開発されました。
それをテストしましょう
「参照」ボタンをクリックして、VCFファイルを選択します。 [ファイルの参照]ウィンドウで[OK]を押すとすぐに、選択したファイルのフルパスがSheet1に表示されます。 次に、[インポート]ボタンをクリックすると、連絡先の名前と組織の情報がSheet2に表示されます。
どういう仕組みで、どうすればいいのですか?
このスクリプトはXNUMXつのサブを保持します。 サブ「pickvcf」は、ユーザーがVCFファイルを参照および選択できるようにするためのものであり、サブ「importvcf」は、VCFからExcelファイルにデータを読み取ってインポートするためのものです。
変更する
現在のところ、スクリプトはVCFファイルから名前と組織の情報をインポートします。 スクリプトを簡単に変更して、住所、電話、ファックス、電子メールなどの他の情報をインポートできます。 スクリプトを微調整して、フォルダー内の複数のVCFファイルを読み取り、バッチプロセスでインポートすることもできます。
このスクリプトは、Excelが破損していない場合にうまく機能します。 ただし、 破損したExcelファイル そしてそれを修復したい場合は、次のようなExcelの回復ツールを使用することができます DataNumen Excel Repair.
スクリプト
Sub pickvcf()
Dim fd As Office.FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
.Title = "Please select the file."
.Filters.Clear
.Filters.Add "VCF", "*.vcf"
If .Show = True Then
txtFileName = .SelectedItems(1)
Sheets("Sheet1").Range("F8").Value = txtFileName
End If
End With
End Sub
Sub Importvcf()
Dim fileName As String, textData As String, textRow As String, fileNo As Integer
fileName = Sheets("Sheet1").Range("F8").Value
fileNo = FreeFile
r = 2
Open fileName For Input As #fileNo
Do While Not EOF(fileNo)
Line Input #fileNo, textRow
If Left(textRow, 3) = "FN:" Then
Sheets("Sheet2").Range("A" & r).Value = Replace(textRow, "FN:", "")
End If
If Left(textRow, 4) = "ORG:" Then
Sheets("Sheet2").Range("B" & r).Value = Replace(textRow, "ORG:", "")
End If
Loop
Close #fileNo
End Sub
著者紹介:
Nick Vipondは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 修理ドキュメント と見通し回復ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com
