從其他作業簿中復制到本作業簿中一個帶有代碼的表(那個作業簿工程有密碼,密碼我不知道,但是我需要復制這個表中的資料),想用vba洗掉該表代碼后復制資料,結果洗掉代碼后程式中斷,求教,急急急!!
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Documents and Settings\Administrator\桌面\1.xls"
ActiveSheet.Copy after:=ThisWorkbook.Worksheets(1)
Workbooks("1.xls").Close
Application.ScreenUpdating = True
Worksheets(2).Select
Dim i, j As Integer
Dim str As String
str = Worksheets(2).CodeName
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
If ActiveWorkbook.VBProject.VBComponents(i).Name = str Then
j = i
Exit For
End If
Next i
ActiveWorkbook.VBProject.VBComponents(j).CodeModule.DeleteLines 1, _
ActiveWorkbook.VBProject.VBComponents(j).CodeModule.CountOfLines
Worksheets(2).Columns(1).Select
Selection.Copy
Worksheets(1).Select
Worksheets(1).Columns(1).Select
Selection.Paste
End Sub

可能是因為復制的這個表中含有不能識別的程序和函式才出現這樣的錯誤吧,這個問題如何解決?請教高手!!!!
另:用API函式破解工程密碼后可以看到代碼,但是只能手動洗掉代碼,用vba陳述句洗掉提示工程有密碼保護,看來破解工程只是能看到代碼,而不是真的洗掉了代碼
uj5u.com熱心網友回復:
有個解決思路,在程式的開頭加上參考。參考 Microsoft Visual Basic For Application Extensibility
Dim vbc As VBComponent
.... ...
如果不確定是這個參考,可以查看一下原始檔案中工程的物件參考,然后有針對性地在復制過來的檔案中,在程式開頭添加相應的參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127651.html
標籤:VBA
上一篇:關于Barcode的一些問題
下一篇:關于VB6.0
