2013-05-09 111 views
2

有人可以幫我解決以下情況: 我需要創建複製(複製)具有不同安全訪問權限的某些Excel表單,例如Read,Read和Execute,Write,修改和完全控制(當您檢查文件的屬性時,這些選項是可見的)。在運行時創建具有不同訪問權限的讀寫權限

在複製一個工作簿,宏會要求用戶選擇的安全訪問組合中的任何一個,當他點擊「OK」,應與接入

能這樣的情況下使用來實現生成的文件Excel VBA宏。我應該使用哪種api或函數來實現。

有人可以請指出我在正確的方向。這將是很大的幫助。

+0

是的,您可以創建自定義Excel加載項文件(.xla)並將其放入Excel啓動目錄;這個加載項應該創建額外的自定義菜單項鍊接到一個過程,以按照您指定的方式打開具有選定訪問權限的新工作簿。 – 2013-05-09 04:31:27

+0

感謝您的反饋,但我想要一個簡單的宏來實現相同。我想複製一個excel文件到2-3 excel文件,每個文件有不同的訪問權限 – 2013-05-09 04:47:30

+0

歡迎您。然後,您必須將該功能放在某個「主」Excel文件(.xls)中,或者創建一個模板文件(.xlt)。 – 2013-05-09 04:52:06

回答

0

我測試過了,它會提出問題並根據當前的讀取模式重新打開。這顯然會根據你的需要調整。

它只在另一種模式下重新打開文件,而不是複製它。

Private Sub Workbook_Open() 

    With ThisWorkbook 
    Stop 
     If .ReadOnly Then 
      If MsgBox("Change to write mode?", vbYesNo) = vbYes Then 
       .ChangeFileAccess xlReadWrite 
      End If 
     Else 
      If MsgBox("Change to read only mode?", vbYesNo) = vbYes Then 
       .ChangeFileAccess xlReadOnly 
      End If 
     End If 
    End With 

End Sub