返回列表 上一主題 發帖

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

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

設定定時將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

回復 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

回復 4# die78325


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

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

回復 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

回復 8# kimbal


  Sub txet1()
  P = Format(Date, "m") & "-" & Format(Date, "d") & "-" & Format(Date, "Y")
VBA.FileCopy "Y:\2012\payment 2012\Outstanding payment ss 2012\Dec 2012\Outstanding Payments " & P & ".xlsm", "C:\users\patrick.hkg\desktop\outstanding payments.xlsm"
End Sub

我的file 名是 Outstanding Payments  12-4-2012
run 是出現run-time error '53': file not found

請問是哪裡出錯了?

TOP

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

01.Option Explicit

02.Sub Ex()

03.   Dim Rng As Range

04.   'With Workbooks.Open("C:\USER\DESTOP\E.XLSX").Sheets("2012") '檔案未開啟時用此程式碼

05.   With Workbooks("E.XLSX").Sheets("2012")                      '檔案已開啟時用此程式碼

06.        'A2:AM2 to A100:AM100 是Y:\2012\A.XLSX (2012) 的資料

07.        Set Rng = .[A2]

08.        With Workbooks.Open("Y:\2012\A.XLSX").Sheets("2012")    '檔案開啟

09.            .[A100:AM100].Copy Rng   “請問如果我的資料不停增加,超過100列,這句是不是需要改?

10.           .Parent.Close False                                  '檔案關閉

11.        End With

12.        'A101:AM101 to A150:AM150是C:\2012\B.XLSX (Nov)的資料

13.        Set Rng = Rng.End(xlDown).Offset(1)  

14.        With Workbooks.Open("Y:\2012\A.XLSX").Sheets("Nov")    '檔案開啟

15.            .[A150:AM150].Copy Rng   “請問如果我的資料不停增加,超過150列,這句是不是需要改?

16.           .Parent.Close False                                  '檔案關閉

17.        End With

18.        'A151:AM151 to A270:AM270是Z:\2012\C.XLSX (2012) 的資料

19.        Set Rng = Rng.End(xlDown).Offset(1)

20.        With Workbooks.Open("Y:\2012\A.XLSX").Sheets("2012")    '檔案未開啟

21.            .[A270:AM270].Copy Rng   “請問如果我的資料不停增加,超過270列,這句是不是需要改?

22.           .Parent.Close False                                  '檔案關閉

23.        End With

24.    End With

25.End Sub



Set Rng = Rng.End(xlDown).Offset(1)  這句出現run-time error '1004' application-defined or object-defined error
.[A100:AM100].Copy Rng   “請問如果我的資料不停增加,超過100列,這句是不是需要改?
.[A150:AM150].Copy Rng   “請問如果我的資料不停增加,超過150列,這句是不是需要改?
.[A270:AM270].Copy Rng   “請問如果我的資料不停增加,超過270列,這句是不是需要改?

請教各位高手解決問題

1)Sub txet1()
   P = Format(Date, "m") & "-" & Format(Date, "d") & "-" & Format(Date, "Y")
VBA.FileCopy "Y:\2012\payment 2012\Outstanding payment ss 2012\Dec 2012\Outstanding Payments " & P & ".xlsm", "C:\users\patrick.hkg\desktop\outstanding payments.xlsm"
End Sub

我的file 名是 Outstanding Payments  12-4-2012
run 是出現run-time error '53': file not found   請問是哪裡出錯了?
p 需要SET什麼嗎?DIM P AS STRING 之類嗎?

2)
Sub txet1()
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"
End Sub
是否因為file 名太長或者什麼原因,這句出現錯誤?或者是否因為我同時copy 另外一個Y server所以不行?

3)另外請問如果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

回復 13# GBKEE


  那麼是不是程式有問題,需要更改?

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題