返回列表 上一主題 發帖

[發問] 請高人幫忙除錯,謝謝~

請問有無高手可以做到這效果

設定定時將server 的幾個excel copy 在桌面?
例如:
server
Y:\2012\Jan\[a.xlsx]
Y:\2012\Feb\[b.xlsx]
Y:\2012\Mar\[c.xlsx]
Y:\2012\Apr\[d.xlsx]
Z:\2012\[e.xlsx]
將上面這些file copy 到下面地址:
C:\user\destop\
如果可以將FILE名改變成另一個名就更好
例如
[a.xlsx] 改成 1.xlsx
[b.xlsx] 改成 2.xlsx
[c.xlsx] 改成 3.xlsx
[d.xlsx] 改成 4.xlsx
[e.xlsx] 改成 5.xlsx

另外如果SERVER名每日不同可以嗎:
例如:
今日是2/Dec
server
Y:\2012\Jan\[a2-12.xlsx]
Y:\2012\Feb\[b2-12.xlsx]
Y:\2012\Mar\[c2-12.xlsx]
Y:\2012\Apr\[d2-12.xlsx]
Z:\2012\[e2-12.xlsx]

今日是3/Dec
server
Y:\2012\Jan\[a3-12.xlsx]
Y:\2012\Feb\[b3-12.xlsx]
Y:\2012\Mar\[c3-12.xlsx]
Y:\2012\Apr\[d3-12.xlsx]
Z:\2012\[e3-12.xlsx]
如此類推,名稱跟日期變動

TOP

回復 1# 198188

不知你的 [  ]是否是真實存在   在這我假設框是沒有的!
    Sub txet1()
'單純複製更名
VBA.FileCopy "Y:\2012\Jan\a.xlsx", "C:\user\destop\1.xlsx"
VBA.FileCopy "Y:\2012\Feb\b.xlsx", "C:\user\destop\2.xlsx"
VBA.FileCopy "Y:\2012\Mar\c.xlsx", "C:\user\destop\3.xlsx"
VBA.FileCopy "Y:\2012\Apr\d.xlsx", "C:\user\destop\4.xlsx"
VBA.FileCopy "Y:\2012\e.xlsx", "C:\user\destop\5.xlsx"
End Sub


如sever每日檔案會變動
需要在路徑加上判別今天 日期的語法
p =Format(Date, "d")&"-"&Format(Date, "m")
Format(Date, "d")  <-今天的日期 取"日"
Format(Date, "m") <-今天的日期 取"月"

所以理論上 就要 改為
VBA.FileCopy "Y:\2012\Jan\a& p & .xlsx", "C:\user\destop\1.xlsx"


名子不同這部分可能還要加以修正  因為要出門了 請其他大大幫我加以修正 感謝!!
Application.OnTime TimeValue("20:00:00"), "Module1.text1"
電腦時間到以上時間就執行模組 “ MODULE 1 ” 內的 “ text1 ” 這個程式
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 2# die78325


    VBA.FileCopy "Y:\2012\Jan\a.xlsx", "C:\user\destop\1.xlsx"
如果copy 的file 不含VBA,是不是不用寫vba,只寫FileCopy "Y:\2012\Jan\a.xlsx", "C:\user\destop\1.xlsx"


Application.OnTime TimeValue("20:00:00"), "Module1.text1"
電腦時間到以上時間就執行模組 “ MODULE 1 ” 內的 “ text1 ” 這個程式
這個是不是指定20:00才copy,如果是半小時copy一次可以嗎?而桌面本身有這個file,是不是自動覆蓋舊的file?

那麼是不是將這個程式加在新的一個excel,還是放在想copy的excel內(a.xlsx  b.xlsx  c.xlsx  d.xlsx   e.xlsx)

TOP

回復 3# 198188


       回答第一題    沒錯   前面不需要vba.
   回答第二題    對  那句程式是只有在電腦右下角20:00:00的時候才會執行
     半小時的話  
     Application.OnTime Now + TimeValue("00:30:00"), "Module1.text1"
   回答第三題    會自動覆蓋
   回答第四題    不要在那abcde裡面放置vba   隨便一個excel內就好
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 4# die78325


    感謝。
但我問的半小時,意思是每半小時自動做一次,不停地自動做。
你那句是否是這個意思?

TOP

回復 5# 198188


    是的   兩句語法不一樣! 請注意
Application.OnTime Now + TimeValue("00:30:00"), "Module1.text1"  '半小時

Application.OnTime TimeValue("20:00:00"), "Module1.text1"   '20:00:00執行
自用車也可以簽帳喔!
五千元加油金加入油箱後還回饋您6200元
福利旺車友會power-want.com

TOP

回復 6# die78325


1)  
Sub txet1()

P = Format(Date, "m") & "-" & Format(Date, "d")

FileCopy "Y:\2012\shipment 2012\ORACLE\ORACLESS & p & .xlsx", "C:\Users\patrick.HKG\Desktop\oracless.xlsx"

End Sub
出現 run-time error '53' file not found

2)
Sub txet1()


FileCopy "Y:\2012\shipment 2012\Mainland ETA Update.xlsx", "C:\Users\patrick.HKG\Desktop\Mainland ETA Update.xlsx"

FileCopy "Y:\2012\payment 2012\One Time Deposit list.xlsx", "C:\Users\patrick.HKG\Desktop\One Time Deposit list.xlsx"
FileCopy "Y:\2012\payment 2012\payment report 2012.xlsx", "C:\Users\patrick.HKG\Desktop\payment report 2012.xlsx"

FileCopy "Y:\2012\claim 2012\Claim control 20100106.xls", "C:\Users\patrick.HKG\Desktop\Claim control 20100106.xls"

FileCopy "Y:\2012\shipment 2012\HK ETA update.xlsx", "C:\Users\patrick.HKG\Desktop\HK ETA update.xlsx"
FileCopy "W:\PIHK\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx", "C:\Users\patrick.HKG\Desktop\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx"
FileCopy "Y:\2012\contract record 2012\daily doc.xlsx", "C:\Users\patrick.HKG\Desktop\daily doc.xlsx"
FileCopy "Y:\2012\shipment 2012\ORACLE\ORACLESS 11-28 .xlsx", "C:\Users\patrick.HKG\Desktop\oracless.xlsx"
End Sub

出現run-time error '70'  permission denied

TOP

本帖最後由 kimbal 於 2012-12-3 21:54 編輯

回復 7# 198188


    1)  p 連接有誤
FileCopy "Y:\2012\shipment 2012\ORACLE\ORACLESS" & p & ".xlsx" , "C:\Users\patrick.HKG\Desktop\oracless.xlsx"

2) 字面上看是權限問題, 你試過手動抄上去無問題嗎? 目標的XLS有沒有正在打開? 打開的話會抄不上去
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

回復 8# kimbal

1)  p 需要SET什麼嗎?DIM P AS STRING 這類嗎?
Sub txet1()

P = Format(Date, "m") & "-" & Format(Date, "d")

FileCopy "Y:\2012\shipment 2012\ORACLE\ORACLESS" & p & ".xlsx" , "C:\Users\patrick.HKG\Desktop\oracless.xlsx"

End Sub



2) 字面上看是權限問題, 你試過手動抄上去無問題嗎? 目標的XLS有沒有正在打開? 打開的話會抄不上去
我是copy 捷徑上去的,一個一個copy上去,但一直都無問題,之後加上上面p那句後,就開始出現這些問題了。目標沒有打開。就算刪除p 那句後,也是這樣。

TOP

回復 8# kimbal


   另外請問如果copy不同的server會有問題嗎?
例如:
Y:\2012\NOV\1.XLSX
X:\SHIPMENT\A.XLSX

或者可否將不同的server內不同的excel,不同的sheet,copy在另外一個excel可以嗎?
括號內代表sheet名
Y:\2012\shipment 2012\Mainland ETA Update.xlsx (MAINLAN ETA)
Y:\2012\payment 2012\One Time Deposit list.xlsx (NOV)
Y:\2012\payment 2012\payment report 2012.xlsx (2012)
Y:\2012\claim 2012\Claim control 20100106.xlsx(2012)
Y:\2012\shipment 2012\HK ETA update.xlsx(HK ETA)
W:\PIHK\NEW 香港辦公室正本收放單記錄-FROM 01-MAR-2012 to current(updated).xlsx(RECEIVE)
Y:\2012\contract record 2012\daily doc.xlsx (DAILY DOCS)
Y:\2012\shipment 2012\ORACLE\ORACLESS 11-28 .xlsx(ORACLESS)

將以上的sheet 同時copy 在下面excel內可以嗎?每個sheet自動分開,用它們的excel名來命名sheet名
C:\Users\patrick.HKG\Desktop\Master.xlsx

TOP

        靜思自在 : 【行善要及時】行善要及時,功德要持續。如燒開水一般,未燒開之前千萬不要停熄火候,否則重來就太費事了。
返回列表 上一主題