1. 程式人生 > >Excel指定電腦開啟的技巧(隱藏以及替代VBA的方法)

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