Board logo

標題: [發問] 一開啟excel檔就自動跑的vb(已解決,感恩) [打印本頁]

作者: pitera88    時間: 2012-1-4 09:55     標題: 一開啟excel檔就自動跑的vb(已解決,感恩)

本帖最後由 pitera88 於 2012-1-4 23:02 編輯

新手來發問,請各位大大幫忙,感恩

我是想把這個excel檔鎖定在這台電腦使用,

請問要一開檔就會自動執行(開檔時跑就好,不要資料有變更就計算一次的)的程序要怎麼寫???

例如:一開檔 出現「歡迎使用本功能」訊息,而後結束這程序就不再跑了

麻煩大大們了
作者: register313    時間: 2012-1-4 10:03

回復 1# pitera88
ThisWorkbook 模組
  1. Private Sub WORKBOOK_OPEN()
  2.   MsgBox "歡迎使用本功能"
  3. End Sub
複製代碼

作者: pitera88    時間: 2012-1-4 10:17

本帖最後由 pitera88 於 2012-1-4 10:26 編輯

回復 2# register313


    謝謝大大的幫忙,感恩

Private Sub WORKBOOK_OPEN()
中間是否可以加入,檢測電腦中是否有「c:\123」資料夾
有的話 ↓
  MsgBox "歡迎使用本功能"

如果沒有 ↓
   結束這個excel檔 (跳過是否存檔,直接跳開)
End Sub

再麻煩大大了
作者: lcc_seven    時間: 2012-1-4 11:43

回復 3# pitera88

當然可以,就跟一般SUB一樣,把想要執行的程式碼寫進去就好了
作者: pitera88    時間: 2012-1-4 11:53

本帖最後由 pitera88 於 2012-1-4 13:17 編輯

從別人的文章中節錄下來的,再作一點修改,請大大們幫修一下

Const ThePath = "C:\123\"
Private Sub WORKBOOK_OPEN()
    中間是否可以加入,檢測電腦中是否有「c:\123」資料夾
SavePath = Dir(ThePath, 16)
If SavePath = "" Then
     有的話 ↓
  MsgBox "歡迎使用本功能"

如果沒有 ↓
else
   結束這個excel檔 (跳過是否存檔,直接跳開)
   Newbook.Close True, SavePath →這段是什麼意思
End Sub
作者: pitera88    時間: 2012-1-4 11:56

因為剛接觸,所以程式碼還很多不知道的
正努力爬文了
作者: GBKEE    時間: 2012-1-4 13:32

回復 5# pitera88
SavePath = Dir(ThePath, 16)
If SavePath = "" Then       ->這是沒有這資料夾
  MsgBox "歡迎使用本功能"
else     ->有這資料夾
      Newbook.Close True, SavePath →這段是什麼意思
    結束這個excel檔   True=存檔,存檔的完整路徑名稱->SavePath
End If
End Sub
作者: pitera88    時間: 2012-1-4 16:27

本帖最後由 pitera88 於 2012-1-4 16:34 編輯

回復 7# GBKEE


    Const ThePath = "C:\123\"
Private Sub WORKBOOK_OPEN()
    中間是否可以加入,檢測電腦中是否有「c:\123」資料夾
SavePath = Dir(ThePath, 16)
If SavePath = "" Then   ->這是沒有資料夾的話,順序就要改了
     如果沒有 ↓ 結束這個excel檔 (跳過是否存檔,直接跳開)
   Newbook.Close True, SavePath →也就是savepath 是個變數,我之前就要設定囉,可是我之前用了,那可以指定一個變數捉到目前開啟的這個檔案的完整路徑嗎??) 還是可以不給這個參數?
                          
else
有的話 ↓
  MsgBox "歡迎使用本功能"
End Sub


下去跑,結果「執行階段錯誤 424 」 此處需要物件  呵呵!!
作者: GBKEE    時間: 2012-1-4 16:38

回復 8# pitera88
If SavePath = "" Then MkDir (ThePath)                       '資料夾不存在 建立它

那可以指定一個變數捉到目前開啟的這個檔案的完整路徑嗎??) 還是可以不給這個參數? (Newbook 已經存檔過的檔案 )
Newbook.Path :           檔案存放的資料夾
Newbook.FullName : 完整的資料夾路徑檔案名稱
作者: pitera88    時間: 2012-1-4 16:59

回復 9# GBKEE


  Const ThePath = "C:\123\"   '->這一行放在這對嗎?和程序好像中間劃一條線
Private Sub WORKBOOK_OPEN()
  SavePath = Dir(ThePath, 16)
If SavePath = "" Then  '我是要檢查用,這檔案不要到別的電腦可以打開
     
   Newbook.Close True   '請grkee大大幫我寫一下,只要強制關閉這檔案就行,感恩
   
Else
  MsgBox "歡迎使用本功能"
End If
End Sub
作者: GBKEE    時間: 2012-1-4 17:09

本帖最後由 GBKEE 於 2012-1-4 17:11 編輯

回復 10# pitera88
只要強制關閉這檔案就行
ThisWorkbook.Close False
作者: pitera88    時間: 2012-1-4 17:49

回復 11# GBKEE


    可以用了,感謝gbkee大大




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