Excel指定電腦開啟的技巧(隱藏以及替代VBA的方法)
1.利用VBA指定Excel表格在指定電腦開啟:
http://jingyan.baidu.com/article/148a1921ce4df54d71c3b18d.html?allowHTTP=1
引用上述網頁的程式碼:
Private Sub Workbook_Open()
Dim DriveID
Dim a As String
Set DriveID = CreateObject("Scripting.FileSystemObject")
a = DriveID.GetDrive("C").SerialNumber
If a <> "序列號一" and a <> "序列號二" Then
ThisWorkbook.Close 0
End If
End Sub
其中序列號可以在cmd輸入wmic VOLUME GET SerialNumber 檢視,也可以在VBA中通過輸入debug.print(data)顯示出來。(tip.這裡的data指的是上面網頁出給出的變數)
這是一個比較簡單的小技巧,破解的方法也很簡單。只要在開啟Excel之前禁用巨集就可以了。
2.通過其他語言(例如用python)生成可執行檔案的方法:
https://www.cnblogs.com/mywolrd/p/4756005.html
以pyinstaller為例:
開啟cmd,在相應目錄下輸入pip install pyinstaller
開啟cmd在指令碼檔案目錄下輸入指令 pyinstaller -F myscrip.py 在本目錄下生成單檔案可執行檔案。
2.2.python中常用的excel的包:
安裝和使用見:https://www.cnblogs.com/pymkl/p/7921465.html
2.3.python讀取C盤序列號
可以用wmi庫得到:
https://www.cnblogs.com/testlife007/p/5702568.html
因為我的電腦出現了no matching distribution found for win32api 的錯誤,為了省事用了另一個方法:
http://blog.csdn.net/THU_Wm/article/details/38390013
tip:其中我們要得到的序列號是SerialNumber而不是Label