返回列表 上一主題 發帖

[發問] 強迫開放巨集,不然就關閉檔案

[發問] 強迫開放巨集,不然就關閉檔案

目前碰上一個問題
我有設定巨集了,但如果使用者把巨集安全性設為「高」而不開放巨集。

請問有辦法在檔案中,設定「不開啟巨集,就不能看到檔案內容,或直接就關閉檔案嗎??」

感恩
仁兄

回復 1# pitera88


http://tw.myblog.yahoo.com/libraersaint-ydns333/article?mid=267&next=256&l=f&fid=5   

Book1.rar (7.03 KB)

TOP

Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

感謝2位大大的回答,但~~~ 小學生不能下載檔案阿~~:'(

正在爬2樓大大的連結分享,結果


    Const ThePath = "C:\vbuse\"
     Const DelPath = "C:\456\*.*"

Private Sub Workbook_Open()
  SavePath = Dir(ThePath, 16)
If SavePath = "" Then
     'MsgBox "非本人勿用"
     'Kill DelPath 刪檔
     'DelPath.Delete
     ThisWorkbook.Close False
     'Application.Quit
Else
  'MsgBox "歡迎使用本功能"
End If
End Sub

Option Explicit
'為每個表定義隱藏名稱
Sub AddPrivateNames()
    Dim sht As Worksheet
    '列舉
    For Each sht In Worksheets
        '為每一個工作表指定"巨集表位置"
        ThisWorkbook.Names.Add sht.Name & "!Auto_Activate", "=Macro1!$A$1", False
    Next
End Sub

Sub HideMacroSheet()
    '隱藏巨集表
    ThisWorkbook.Excel4MacroSheets(1).Visible = xlSheetHidden
End Sub
'3.在Workbook的open事件呼叫HideMacroSheet、AddPrivateNames方法
Option Explicit
Private Sub Workbook_Open() '發現不正確的名稱-->怎麼會這樣阿
    HideMacroSheet
    AddPrivateNames
End Sub


有請大大們幫忙了
仁兄

TOP

回復 4# pitera88
你有兩個Private Sub Workbook_Open()
只能有一個 且須在 ThisWorkbook的模組

TOP

回復 5# GBKEE


    Private Sub Workbook_Open() '發現不正確的名稱-->怎麼會這樣阿
    HideMacroSheet   -->
    AddPrivateNames --> 這2行搬到上面去就行了  感恩!!
End Sub

不過每個excel檔都要作一次 excel4.0 巨集表 再把那幾個格子輸入  ,再把巨集copy 上去  

有比較方便點的方法嗎  (((我真貪心
仁兄

TOP

回復 3# HUNGCHILIN


    不能下載大大的附檔,所以使用了2樓大大的方法,一開始還ok的

但今天開啟後,一直出現 「巨集表內找不到 return()或halt()函數」 ,我每換個sheet 就出現一次

有辦法恢復原狀嗎???  因為我新增的 excel4.0巨集表 已經看不到了  

我把vb�堛熊{序全刪了 也還是一直出現??
仁兄

TOP

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題