返回列表 上一主題 發帖

[發問] 如何利用VBA記錄使用動作,並回傳資料至某路徑的特定檔案內。

[發問] 如何利用VBA記錄使用動作,並回傳資料至某路徑的特定檔案內。

問題               
如何利用VBA記錄使用動作,並回傳資料至某路徑的特定檔案內。               
               
               
詳細問題內容               
"資料" 活頁簿裡,當使用者每按一下工作表裡的巨集按鈕,就會回傳該巨集名稱、當下日期時間與               
"明細"工作表裡的 L3欄 到另一活頁簿活頁簿(回饋)裡面,而且使用者每按一次就往下新增紀錄一筆(不覆蓋);               
請大大幫我依上面需求撰寫VBA並且以不影響或干擾原本巨集為原則,謝謝!               
               
        註1:本範例皆只是空按鈕,並無巨集。       
        使用習慣:"回饋" 活頁簿會放在一特定路徑裡面(如C:\test)       
                              "資料" 活頁簿則可能被多位使用者複製到任何路徑使用。
下載範例檔
20160117_利用VBA內容檔回將傳另一檔案.rar (8.1 KB)

圖片示意

Sub TEST_3()
記錄 ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text, [明細!L3]
End Sub
 
 
Sub 記錄(BtnText$, UsrName$)
Dim X As New Application, xB As Workbook
Set xB = X.Workbooks.Open(ThisWorkbook.Path & "\回饋.xls")
xB.Sheets("資料回傳").[B65536].End(xlUp)(2).Resize(1, 3) = Array(UsrName, Now, BtnText)
xB.Close 1
End Sub
 
測試檔:
20160117_回傳另一檔案.rar (15.43 KB)
 
會不會影響原來程式?不確定!!! 

TOP

回復 2# 准提部林


    Set xB = X.Workbooks.Open(ThisWorkbook.Path & "\回饋.xls")

請教一下准大,上面是您兩檔案同一層的路徑VBA,若我路徑為 "\\TEST\TEST1\測試\來源檔",那我該怎修改VBA路徑呢? (自己亂試了半天還是連結不到..XD)

TOP

回復 3# RCRG


區網路徑應包含電腦名稱, 或以[連線網路磁碟機]方法設定路徑,
請網上自行找找資料!!!

TOP

回復 4# 准提部林


    剛剛又研究了一下,Set xB = X.Workbooks.Open(ThisWorkbook.Path & "\回饋.xls"),原來把ThisWorkbook.Path & 移除就可以連結了,
謝謝准大的答案;

另外我想請問,是不是將VBA都寫在同一個模組裡(如您範例),那麼 Sub 記錄(BtnText$, UsrName$) 就只需一個即可,
如果分開寫在很多模組,那麼每個模組都要有 Sub 記錄(BtnText$, UsrName$) 這樣沒錯吧?

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題