PALMisLIFE 討論區

搜索
鹹魚爸魅力四射舞蹈教室
查看: 18781|回復: 9
打印 上一主題 下一主題

Palm Desktop to Outlook 通訊錄轉換工具

[複製鏈接]

218

主題

9

好友

3516

積分

我沒有頭銜!

  • TA的每日心情
    開心
    2011-8-12 07:38
  • 簽到天數: 110 天

    連續簽到: 3 天

    [LV.6]常住居民II

    文章
    2679
    跳轉到指定樓層
    1#
    發表於 2004-11-29 18:58 |只看該作者 |倒序瀏覽
    不知道有沒有人跟我一樣,通訊錄主要在 Palm Desktop 上,但 Outlook 上也常要維持一份。若用 cvs 來轉檔,如果在 PALM 上把欄位順序改變後,常常會得到錯亂的結果。若用 vcard 的方式轉檔,Palm Desktop 可以一次轉出所有的聯絡人在同一個 vcf 上,可是 Outlook 卻只會匯入第一筆資料。

    所以,有了下面的 VBA script。


    1. Option Explicit

    2. Sub ImportMultiVCF()
    3.     Dim strPath As String
    4.     Dim strVCF As String
    5.     Dim strTemp As String
    6.    
    7.     Dim objFSO As Object
    8.     Dim objTF1 As Object
    9.     Dim objTF2 As Object
    10.     Dim strLine As String
    11.     Dim strBuf As String

    12.     Dim objOL As Outlook.Application
    13.     Dim objInsp As Outlook.Inspectors
    14.    
    15.     Dim objWSHShell As IWshRuntimeLibrary.IWshShell
    16.    
    17.     'modify these settings
    18.     strPath = "D:\TEMP\VCARD\"
    19.     strVCF = strPath & "all.vcf"
    20.     strTemp = strPath & "temp.vcf"
    21.     'end
    22.    
    23.     Set objFSO = CreateObject("Scripting.FileSystemObject")
    24.     Set objTF1 = objFSO.OpenTextFile(strVCF, ForReading)
    25.    
    26.     Set objOL = CreateObject("Outlook.Application")
    27.     Set objInsp = objOL.Inspectors
    28.    
    29.     Set objWSHShell = CreateObject("WScript.Shell")
    30.    
    31.     strLine = objTF1.ReadLine
    32.     strBuf = ""
    33.     Do While (Not objTF1.AtEndOfStream)
    34.    
    35.         Do While (Left(strLine, 3) <> "END")
    36.             strBuf = strBuf & strLine & vbCrLf
    37.             strLine = objTF1.ReadLine
    38.         Loop
    39.         strBuf = strBuf & strLine & vbCrLf
    40.         
    41.         Set objTF2 = objFSO.CreateTextFile(strTemp, ForAppending)
    42.         objTF2.Write strBuf
    43.         objTF2.Close
    44.         Set objTF2 = Nothing
    45.         strBuf = ""
    46.    
    47.         objWSHShell.Run strTemp
    48.         
    49.         Do Until (objInsp.Count = 1)
    50.                 DoEvents
    51.         Loop
    52.         
    53.         On Error Resume Next
    54.         objInsp.Item(1).CurrentItem.Save
    55.         objInsp.Item(1).Close olDiscard
    56.         On Error GoTo 0
    57.             
    58.         strLine = objTF1.ReadLine
    59.     Loop
    60.     objTF1.Close

    61.     Set objWSHShell = Nothing
    62.     Set objInsp = Nothing
    63.     Set objOL = Nothing
    64.     Set objTF1 = Nothing
    65.     Set objFSO = Nothing

    66. End Sub
    複製代碼


    其中 strPath 是工作目錄 (即 "D:\TEMP\VCARD\",可自行更改),從 Palm Desktop 轉出的 vcf 檔要放在工作目錄下,檔名為 strVCF (即 "all.vcf",可自行更改)。

    用法:
    1. 在 Outlook 的 VB 編輯器中,加入上面那一段程式。
    2. 在 Palm Desktop 把聯絡人全選後,轉存成 vcf 檔。
    3. 執行上面那一段程式。

    其中第一個步驟只要第一次做過就可以了。以後就重覆第 2, 3 步驟。

    [ Last edited by mfhsieh on 2004-11-29 at 19:54 ]
    分享淘帖0 分享分享0 收藏收藏0 頂0 踩0

    12

    主題

    0

    好友

    335

    積分

    該用戶從未簽到

    文章
    347
    2#
    發表於 2004-11-29 19:49 |只看該作者

    Re: Palm Desktop to Outlook 通訊錄轉換工具

    感謝分享
    您的意思是strPath = "D:\TEMP\VCARD\"這段Code可以改成自己所需的路徑嗎?
    Thx!
    Doo-Bop的比利時啤酒週記 [url]http://blog.roodo.com/doobop/[/url]
    回復

    使用道具 舉報

    218

    主題

    9

    好友

    3516

    積分

    我沒有頭銜!

  • TA的每日心情
    開心
    2011-8-12 07:38
  • 簽到天數: 110 天

    連續簽到: 3 天

    [LV.6]常住居民II

    文章
    2679
    3#
    發表於 2004-11-29 19:50 |只看該作者

    Re: Palm Desktop to Outlook 通訊錄轉換工具

    Originally posted by doobop at 2004-11-29 19:49:
    感謝分享
    您的意思是strPath = "D:\TEMP\VCARD\"這段Code可以改成自己所需的路徑嗎?
    Thx!


    Yes!
    回復

    使用道具 舉報

    218

    主題

    9

    好友

    3516

    積分

    我沒有頭銜!

  • TA的每日心情
    開心
    2011-8-12 07:38
  • 簽到天數: 110 天

    連續簽到: 3 天

    [LV.6]常住居民II

    文章
    2679
    4#
    發表於 2004-11-29 20:04 |只看該作者

    Re: Palm Desktop to Outlook 通訊錄轉換工具

    忘了提,因為用到 windows script host,所以要在 vb 編輯器內,選

    工具->設定引用項目

    然後把 Windows Script Host Object Model 打勾後,按確定。才能正常引用 WScript.Shell。
    回復

    使用道具 舉報

    5#
    無效樓層,該帖已經被刪除

    218

    主題

    9

    好友

    3516

    積分

    我沒有頭銜!

  • TA的每日心情
    開心
    2011-8-12 07:38
  • 簽到天數: 110 天

    連續簽到: 3 天

    [LV.6]常住居民II

    文章
    2679
    6#
    發表於 2005-2-13 18:07 |只看該作者

    Re: Palm Desktop to Outlook 通訊錄轉換工具

    謝謝啦!

    居然能找到快三個月前的文章!
    回復

    使用道具 舉報

    63

    主題

    1

    好友

    311

    積分

    該用戶從未簽到

    文章
    317
    7#
    發表於 2006-6-13 16:22 |只看該作者

    Re: Palm Desktop to Outlook 通訊錄轉換工具

    小弟使用時出現一個問題"找不到檔案"! 偵錯時指向這一行:
        Set objTF1 = objFSO.OpenTextFile(strVCF, ForReading)

    請問要如何修改?
    回復

    使用道具 舉報

    244

    主題

    52

    好友

    6188

    積分

    該用戶從未簽到

    文章
    6359
    8#
    發表於 2008-11-12 18:12 |只看該作者

    Re: Palm Desktop to Outlook 通訊錄轉換工具

    嗯...這個現成的工具蟹老板就有提供過了啊
    http://www.palmislife.com/viewth ... ht=OUTLOOK%2BCANCER
    回復

    使用道具 舉報

    218

    主題

    9

    好友

    3516

    積分

    我沒有頭銜!

  • TA的每日心情
    開心
    2011-8-12 07:38
  • 簽到天數: 110 天

    連續簽到: 3 天

    [LV.6]常住居民II

    文章
    2679
    9#
    發表於 2008-11-12 18:17 |只看該作者

    Re: Re: Palm Desktop to Outlook 通訊錄轉換工具

    原文由 liaolc 於 2008-11-12 18:12 發表
    嗯...這個現成的工具蟹老板就有提供過了啊
    http://www.palmislife.com/viewth ... ht=OUTLOOK%2BCANCER

    當初寫那一段 code,主要是為了在手頭沒機器或是沒連接線時用的。
    回復

    使用道具 舉報

    218

    主題

    9

    好友

    3516

    積分

    我沒有頭銜!

  • TA的每日心情
    開心
    2011-8-12 07:38
  • 簽到天數: 110 天

    連續簽到: 3 天

    [LV.6]常住居民II

    文章
    2679
    10#
    發表於 2008-11-12 18:20 |只看該作者

    Re: Re: Palm Desktop to Outlook 通訊錄轉換工具

    原文由 5dpulo 於 2006-6-13 16:22 發表
    小弟使用時出現一個問題"找不到檔案"! 偵錯時指向這一行:
        Set objTF1 = objFSO.OpenTextFile(strVCF, ForReading)

    請問要如何修改?

    順便回個兩年前的問題
        'modify these settings
        strPath = "D:\TEMP\VCARD\"
        strVCF = strPath & "all.vcf"
        strTemp = strPath & "temp.vcf"
        'end

    要先指定工作目錄 (strPath)
    Palmdesktop 匯出 vcf 時,要放到工作目錄下,取名 all.vcf。
    --
    答案應該也不重要了!
    回復

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 免費註冊

    與站長聯繫| PALMisLIFE 掌上生活      下載:更快、更棒、更好玩

    GMT+8, 2024-4-20 08:52 , Processed in 0.043492 second(s), 31 queries , Gzip On.

    Powered by Discuz!

    © 2001-2012 Comsenz Inc. style by eisdl

    回頂部