X.Z. 发表于 2008-8-26 15:01:28

请问如将特定文件夹内的档案已选择特定档案的方式运行

请问如将特定文件夹内的档案已选择特定档案的方式运行
目前PST档案为于D:\MAIL下面且有许多PST档案
我现在的方式仅能一次汇入所有PST档案
请问要如何才能够用复选的方式汇入呢?
烦请各位帮帮忙谢谢
谢谢!!


以下代码是我写的汇入所有PST档的代码
$mountpst=ControlCommand("郵件","","ListBox1","GetCurrentSelection","")

WinActivate("郵件","")
ControlFocus("郵件","下列設定檔建立在這個機器上","ListBox1")
send($mountpst)
sleep(500)

$PstFilePath = "D:\Mail"
$searchPstFile = FileFindFirstFile($PstFilePath & "\*.pst")
If $searchPstFile = -1 Then
    MsgBox(0, "Error", "No any pst file")
    Exit
EndIf

ControlClick("郵件","內容","Button3")
WinWait("郵件設定","電子郵件帳號")
WinActivate("郵件設定","電子郵件帳號")
ControlClick("郵件設定","資料檔","Button3")

While 1
    $PstFile = FileFindNextFile($searchPstFile)
    If @error Then ExitLoop
        call("MountPst")
WEnd

FileClose($searchPstFile)

WinWait("郵件設定","電子郵件帳號")
WinActivate("郵件設定","電子郵件帳號")
ControlClick("郵件設定","關閉","Button4")
Exit

Func MountPst()
WinWait("Outlook 資料檔案","選取清單中的資料檔案")
WinActivate("Outlook 資料檔案","選取清單中的資料檔案")
ControlClick("Outlook 資料檔案","新增","Button4")

WinWait("新的 Outlook 資料檔","儲存類型")
WinActivate("新的 Outlook 資料檔","儲存類型")
ControlClick("新的 Outlook 資料檔","確定","Button1")

WinWait("建立或開啟 Outlook 資料檔","")
WinActivate("建立或開啟 Outlook 資料檔","")
ControlSetText("建立或開啟 Outlook 資料檔", "","RichEdit20W2", $PstFilePath&"\"&$PstFile)
sleep(300)
send("{ENTER}")

WinWait("個人資料夾","")
WinActivate("個人資料夾","")
ControlClick("個人資料夾","確定","Button3")

EndFunc


[ 本帖最后由 X.Z. 于 2008-8-29 08:41 编辑 ]

X.Z. 发表于 2008-8-27 16:31:20

對不起!!不知道是我描述的不好,還是大家比較忙沒看到呢?
有空的話 幫忙一下吧!!
再次謝謝!!

真会走路的废柴 发表于 2008-8-27 16:46:18

使用FileOpenDialog函数进行多选文件

X.Z. 发表于 2008-8-27 23:53:33

原帖由 真会走路的废柴 于 2008-8-27 16:46 发表 http://www.autoitx.com/images/common/back.gif
使用FileOpenDialog函数进行多选文件
請問 方便來個範例嗎?
我剛接觸AUTOIT 上面的語法 是我東湊西拼 拼湊出來的
謝謝您!!

X.Z. 发表于 2008-8-28 22:44:13

對不起
我使用 FileOpenDialog 這個函數 寫不出來
不知道要怎麼把選到的變數 應用進去
救救我 拜託 Orz
$message = "Hold down Ctrl or Shift to choose multiple files."
$PstFilePath = "C:Mail"
$var = FileOpenDialog($message,$PstFilePath, "Images (*.pst)", 1 + 4 )

If @error Then
    MsgBox(4096,"","No File(s) chosen")
        Exit
Else
    $var = StringReplace($var, "|", @CRLF)
    MsgBox(4096,"","You chose " & $var)
EndIf


$mountpst=ControlCommand("郵件","","ListBox1","GetCurrentSelection","")

WinActivate("郵件","")
ControlFocus("郵件","下列設定檔建立在這個機器上","ListBox1")
send($mountpst)
sleep(500)

ControlClick("郵件","內容","Button3")
WinWait("郵件設定","電子郵件帳號")
WinActivate("郵件設定","電子郵件帳號")
ControlClick("郵件設定","資料檔","Button3")

While 1
    ;$PstFile = FileFindNextFile($searchPstFile)
        $PstFile = FileFindNextFile($var)
        msgbox(0,"",$PstFilePath&""&$PstFile)
    ;If @error Then ExitLoop
      
WinWait("Outlook 資料檔案","選取清單中的資料檔案")
WinActivate("Outlook 資料檔案","選取清單中的資料檔案")
ControlClick("Outlook 資料檔案","新增","Button4")

WinWait("新的 Outlook 資料檔","儲存類型")
WinActivate("新的 Outlook 資料檔","儲存類型")
ControlClick("新的 Outlook 資料檔","確定","Button1")

WinWait("建立或開啟 Outlook 資料檔","")
WinActivate("建立或開啟 Outlook 資料檔","")
ControlSetText("建立或開啟 Outlook 資料檔", "","RichEdit20W2", $PstFilePath&""&$PstFile)
sleep(300)
send("{ENTER}")

WinWait("個人資料夾","")
WinActivate("個人資料夾","")
ControlClick("個人資料夾","確定","Button3")



WEnd

FileClose($var)

WinWait("郵件設定","電子郵件帳號")
WinActivate("郵件設定","電子郵件帳號")
ControlClick("郵件設定","關閉","Button4")
Exit

sanhen 发表于 2008-8-28 23:40:26

不是很明白楼上的意思。。。能否用简体,简明扼要的描述一下问题呢?

X.Z. 发表于 2008-8-29 08:40:23

原帖由 sanhen 于 2008-8-28 23:40 发表 http://www.autoitx.com/images/common/back.gif
不是很明白楼上的意思。。。能否用简体,简明扼要的描述一下问题呢?
您好~~
我主要的目的是将D:\Mail下中 OUTLOOK 2003的 PST挂上OUTLOOK中
假设D:\Mail中有
2008-06-xx.pst
2008-07-xx.pst
2008-08-xx.pst
2008-09-xx.pst
2008-10-xx.pst
共五个PST檔(可能更多或更少.且檔名不一定)

我只需要挂上其中特定的几个即可
我一楼的代码只能一次挂上全部
我需要的是挂上所选的档案即可
烦请帮忙 谢谢!!

BTW对不起我不太懂妳们那边的说话方式我是用WORD繁转简倘若有我说不清楚的地方烦请告知谢谢

kakinkgb 发表于 2008-8-30 18:58:05

你把不用的文件移走(FileMove),然后"一次挂上全部"

X.Z. 发表于 2008-9-1 11:21:05

原帖由 kakinkgb 于 2008-8-30 18:58 发表 http://www.autoitx.com/images/common/back.gif
你把不用的文件移走(FileMove),然后"一次挂上全部"
长官~~
如过要一次挂上的话
我一楼的语法就可以达到了
因为我要让使用者方便选择它们需求的档案
所以才需要选择档案这个功能

kakinkgb 发表于 2008-9-1 18:57:39

对啊,你让使用者选择不需要的档案,把不要的文件FileMove到别的地方,剩下的是需要的文件
最后把剩下的"一次挂上全部"
因为我没遇到这样的应用,所以没有研究过,告诉你这个笨办法

X.Z. 发表于 2008-9-2 09:24:06

三楼提出的FileOpenDialog可以做到选择档案!
不过我不知道怎么应用到语法内
请知道的人在帮帮忙吧
页: [1]
查看完整版本: 请问如将特定文件夹内的档案已选择特定档案的方式运行