找回密码
 加入
搜索
查看: 3552|回复: 10

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

  [复制链接]
发表于 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 编辑 ]
 楼主| 发表于 2008-8-27 16:31:20 | 显示全部楼层
對不起!!不知道是我描述的不好,還是大家比較忙沒看到呢?
有空的話 幫忙一下吧!!
再次謝謝!!
发表于 2008-8-27 16:46:18 | 显示全部楼层
使用FileOpenDialog函数进行多选文件
 楼主| 发表于 2008-8-27 23:53:33 | 显示全部楼层
原帖由 真会走路的废柴 于 2008-8-27 16:46 发表
使用FileOpenDialog函数进行多选文件

請問 方便來個範例嗎?
我剛接觸AUTOIT 上面的語法 是我東湊西拼 拼湊出來的
謝謝您!!
 楼主| 发表于 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
发表于 2008-8-28 23:40:26 | 显示全部楼层
不是很明白楼上的意思。。。能否用简体,简明扼要的描述一下问题呢?
 楼主| 发表于 2008-8-29 08:40:23 | 显示全部楼层
原帖由 sanhen 于 2008-8-28 23:40 发表
不是很明白楼上的意思。。。能否用简体,简明扼要的描述一下问题呢?

您好~~
我主要的目的是将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繁转简倘若有我说不清楚的地方烦请告知谢谢
发表于 2008-8-30 18:58:05 | 显示全部楼层
你把不用的文件移走(FileMove),然后"一次挂上全部"
 楼主| 发表于 2008-9-1 11:21:05 | 显示全部楼层
原帖由 kakinkgb 于 2008-8-30 18:58 发表
你把不用的文件移走(FileMove),然后"一次挂上全部"

长官~~
如过要一次挂上的话
我一楼的语法就可以达到了
因为我要让使用者方便选择它们需求的档案
所以才需要选择档案这个功能
发表于 2008-9-1 18:57:39 | 显示全部楼层
对啊,你让使用者选择不需要的档案,把不要的文件FileMove到别的地方,剩下的是需要的文件
最后把剩下的"一次挂上全部"
因为我没遇到这样的应用,所以没有研究过,告诉你这个笨办法
 楼主| 发表于 2008-9-2 09:24:06 | 显示全部楼层
三楼提出的FileOpenDialog可以做到选择档案!
不过我不知道怎么应用到语法内
请知道的人在帮帮忙吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 01:33 , Processed in 0.079275 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表