[算表] VBA操控另一個檔案

看板Office作者 (pointchi)時間7年前 (2019/01/20 23:51), 7年前編輯推噓1(1010)
留言11則, 2人參與, 7年前最新討論串1/1
軟體: excel 版本: 2013 請教前輩,小弟目前初入VBA領域練習,我於aaa.xlsm編寫一個VBA sub run01(),產生新 的檔案bbb.xlsx。 然後再編寫一個VBA sub run02()於增益集,目的是將新的檔案bbb.xlsx另存作業日期的 檔名 mmdd-01.xlsx,列印N份(依input box 輸入的數量),並依日期分別存入對應的目錄 。 目前我是想將sub run02() 的程式碼編寫入sub run01()。 請問要用何方式或是指令,才有辦法將aaa.xlsm裡面的VBA可以操控bbb.xlsx並執行動作 。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.72.154 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1547999496.A.BC4.html

01/21 00:15, 7年前 , 1F
如指的是以程序run02來操作aaa.xlsm內的程序run01的話
01/21 00:15, 1F

01/21 00:16, 7年前 , 2F
開啟aaa.xlsm,再以application.run指定"aaa.xlsm!run01"
01/21 00:16, 2F

01/21 00:17, 7年前 , 3F
執行
01/21 00:17, 3F
感謝S大回應,我還是不太了解application.run。 因為我常在不同電腦作業,因此要在每一台電腦新增run02的增益集, 所以我想將run02的程式碼編寫進去run01,然後將aaa.xlsm放在網路共享槽, 如此我開啟aaa.xlsm執行程序run01 也會另存作業日期的檔名 mmdd-01.xlsx、列印和存入對應的目錄 。

01/21 09:17, 7年前 , 4F
又學一招!謝謝S大
01/21 09:17, 4F
※ 編輯: pointchi (111.251.76.205), 01/21/2019 10:55:26

01/21 10:59, 7年前 , 5F
如果是補充回文的話,應就不用application.run了
01/21 10:59, 5F

01/21 11:00, 7年前 , 6F
如要放在同一個程序sub內先看run02是要在run01前或後執行
01/21 11:00, 6F

01/21 11:01, 7年前 , 7F
再將程式碼複製到原run01之前或之後;若是不同程序要以呼
01/21 11:01, 7F

01/21 11:02, 7年前 , 8F
叫方式的話,就call run01(或run02,看是從那裡呼叫的),
01/21 11:02, 8F

01/21 11:02, 7年前 , 9F
也可以run01(省略call的方式)
01/21 11:02, 9F

01/21 11:03, 7年前 , 10F
以上回文只是可能方式,沒看到程式碼也不一定是正確可達到
01/21 11:03, 10F

01/21 11:03, 7年前 , 11F
要的結果
01/21 11:03, 11F
感謝S大,將rou02程式碼貼入run01果然就可以了。 ※ 編輯: pointchi (111.251.76.205), 01/23/2019 10:25:52
文章代碼(AID): #1SH9a8l4 (Office)
文章代碼(AID): #1SH9a8l4 (Office)