Board logo

標題: [發問] 如何把活頁簿名稱指定 在哪個欄位 (已爬文多日) [打印本頁]

作者: die78325    時間: 2012-11-17 12:54     標題: 如何把活頁簿名稱指定 在哪個欄位 (已爬文多日)

我有多個VBA檔
裡面都有些要指定活頁簿名子的
例如
    Workbooks.Open Filename:="G:\每月日報表\2012.11\101-11日報表.xlsm"
    Workbooks("1113日報表自動算(綜合).xlsm").Activate
每個月都會變  這樣我有辦法把  G:\每月日報表\2012.11\101-11日報表.xlsm   輸入至 sheets("設定區").range("A2")
然後以後我就改A2的欄位裡面的字元嗎
我宣告成 workbooks 也都試過 都不行.....到處爬文都沒有人有這個問題....
沒辦法只好向各位大大指導了.....

我的代碼如下

sub 日報表偵測()

'偵測以下活頁簿是否開啟
bookname = "101-11日報表.xlsm"
For Each wbs In Workbooks
    If UCase(wbs.Name) = UCase(bookname) Then
        MsgBox bookname & " 已開啟,將自動儲存關閉"
        Workbooks("101-11日報表.xlsm").Activate '切換活頁簿
        ActiveWorkbook.Save '儲存目前使用的活頁簿
        ActiveWorkbook.Close  '關閉活頁簿
        Exit For
    End If
Next wbs
end sub
作者: GBKEE    時間: 2012-11-18 14:48

回復 1# die78325
是這樣嗎?
  1. Sub Ex()
  2.     With Workbooks.Open(Filename:="G:\每月日報表\2012.11\101-11日報表.xlsm")
  3.         Workbooks("1113日報表自動算(綜合).xlsm").Sheets("設定區").Range("A2") = .Name
  4.     End With
  5. End Sub
複製代碼

作者: die78325    時間: 2012-11-19 10:09

大大 抱歉 可能是我講的不是很清楚....
我希望的是 可不可以把 我的檔案名子
101-11日報表.xlsm   或  G:\每月日報表\2012.11\101-11日報表.xlsm
放入儲存格    然後利用 儲存格   例如   ramge("A2") 來替代檔案名
不然我每個月都要進去修改檔名....... 現在是不多 但之後可能很多這種狀況@@" 想先克服這個部分
我參考一堆文 根範例文  都只有將儲存格內的值替代別種東西 就是沒有人替代檔案名或路徑的.....


我試著宣告 dim dd as workbooks
dd=sheets("網頁區").range("A2")   
然後把G:\每月日報表\2012.11\101-11日報表.xlsm 貼入A2



這樣也不可行.....  所以 我不懂該怎麼來去設定儲存格裡面的是檔名
因為怕以後帳給別人做 他會不知道怎麼進去改路徑或檔案名 希望能在儲存格裡面做修改
感謝大大熱心回應我~~
作者: die78325    時間: 2012-11-19 10:10

回復 2# GBKEE

抱歉剛沒點回應......補發一帖   如有過失請大大見諒!


大大 抱歉 可能是我講的不是很清楚....
我希望的是 可不可以把 我的檔案名子
101-11日報表.xlsm   或  G:\每月日報表\2012.11\101-11日報表.xlsm
放入儲存格    然後利用 儲存格   例如   ramge("A2") 來替代檔案名
不然我每個月都要進去修改檔名....... 現在是不多 但之後可能很多這種狀況@@" 想先克服這個部分
我參考一堆文 根範例文  都只有將儲存格內的值替代別種東西 就是沒有人替代檔案名或路徑的.....


我試著宣告 dim dd as workbooks
dd=sheets("網頁區").range("A2")   
然後把G:\每月日報表\2012.11\101-11日報表.xlsm 貼入A2


這樣也不可行.....  所以 我不懂該怎麼來去設定儲存格裡面的是檔名
因為怕以後帳給別人做 他會不知道怎麼進去改路徑或檔案名 希望能在儲存格裡面做修改
感謝大大熱心回應我~~!!!
作者: GBKEE    時間: 2012-11-19 15:22

回復 4# die78325
要多看看 VBA 的說明
我試著宣告 dim dd as workbooks
    Workbooks 屬性 定傳回 Workbooks 集合,此集合代表所有開啟的活頁簿。唯讀。
    Workbook 物件 代表 Microsoft Excel 活頁簿。
    Workbook 物件是 Workbooks 集合的成員。Workbooks 集合包含目前 Microsoft Excel 中所有開啟的 Workbook 物件。
  
  1. Option Explicit
  2. Sub EX()   
  3.     Dim dd As String '字串型態
  4.     dd = Sheets("網頁區").Range("A2")
  5.     Workbooks.Open (dd)
  6. End Sub
複製代碼

作者: die78325    時間: 2012-11-19 15:58

好強阿 我之前也有用這個字串來宣告
但...我有打 ("XX")  
現在試了一下  不要打 " " 就可以執行了~~~

感謝大大~~~~又讓我學了一課!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)