

vb從網頁下載xlsx檔案后,Set xlbook = xlapp.Workbooks.Open(s)打開時報錯,手動打開xlsx發現檔案是需要修復的,
修復保存后再執行同段代碼就能順利打開,請問各位大神,如何用vb代碼規避這個問題,怎樣才能直接打開這種需要修復的xlsx檔案。
已嘗試以下方法無效,
Application.DisplayAlerts = True/false
以下是代碼
Private Sub Command16_Click()
Call jianCha_s("D:\Users\dell\Desktop\按需審計\附件\2-180625-005-00962.xlsx")
End Sub
Private Function jianCha_s(s As String)
Dim i As Integer, x As Integer, y As Integer, j As Integer, k As Integer, z As Integer, zz As Integer
Dim ireco As Integer, strsql As String
Dim sy() As String
If Reco.State <> adStateClosed Then
Reco.Close
Set Reco = Nothing
End If
strsql = "select * from illegal_s"
Reco.Open (strsql), Conn, 3, 3
ireco = Reco.RecordCount
Reco.MoveFirst
ReDim sy(ireco - 1)
For x = 0 To ireco - 1
sy(x) = Reco.Fields(1)
Reco.MoveNext
Next
Reco.Close
Set Reco = Nothing
Application.DisplayAlerts = True
Set xlapp = CreateObject("excel.application")
xlapp.Visible = True
Set xlbook = xlapp.Workbooks.Open(s)
i = xlapp.Worksheets.Count
*******
*******
*******
*******
*******
xlbook.Close
xlapp.Quit
Set xlbook = Nothing
Set xlapp = Nothing
Application.DisplayAlerts = True
End Function
uj5u.com熱心網友回復:
你試試“錄制宏”,再從它的代碼能找出什么端倪不。Workbooks.Open( )函式有很多引數,也許跟某個引數值有關(只是猜測,對此完全沒把握
)。
uj5u.com熱心網友回復:
出問題在打開xlsx這一程序,怎么錄制宏
uj5u.com熱心網友回復:
打開程序也可以被“錄制”下來的啊。打開Excel,(此時有“默認空白檔案”了)開啟“錄制宏”,然后通過工具按鈕打開檔案。
出現上面第1張圖片中的提示時,點“是”,然后停止錄制。
這個時候就可以看看剛才錄制的打開檔案程序的代碼了。
當然有沒有“有價值”的資訊,這就不清楚了。
uj5u.com熱心網友回復:
Sub 宏2()'
' 宏2 宏
'
'
Workbooks.Open Filename:= _
"D:\Users\dell\Desktop\按需審計\附件\2-180625-005-00962.xlsx"
End Sub
壞訊息,沒有有價值的資訊
uj5u.com熱心網友回復:

那可能沒辦法了。
唯一的希望,就是查一下資料,看它的Open( )函式的那一堆引數中,有沒有能“控制”這個結果的。
不知道你的這個檔案,可不可以發出來,讓大家試試看?
傳到網盤中,發個分享鏈接(要可以直接下載的那種,比如百度網盤。別用需要登錄后才能下載的網盤)
如果“有不方便透露的內容”那就算了。
uj5u.com熱心網友回復:
手動打不開的檔案用VB6代碼來打開估計夠嗆 可以說【不可能】uj5u.com熱心網友回復:
鏈接: https://pan.baidu.com/s/1Wf2JKmxjWQAdFvc0wJs2FQ 密碼: ru8cuj5u.com熱心網友回復:
如果知道修復程序做了什么,用程式模擬即可。比如,用二進制編輯器打開以保健操需要修復的檔案和修復后的檔案,分析進行了哪些修復操作。
當然,如果能查到有關 xlsx 檔案修復的技術資料的話,就更容易一些。
uj5u.com熱心網友回復:
我下載試了下這幾個引數: IgnoreReadOnlyRecommended, Notify、Converter、UpdateLinks
沒效果。

其余幾個引數,感覺更“無關”了,就沒試。
uj5u.com熱心網友回復:
實在沒轍,用python能打開,,只能換個思路了uj5u.com熱心網友回復:
Python能直接支持讀取xlsx檔案中的資料嗎?
uj5u.com熱心網友回復:
可以啊,讀寫都行的。uj5u.com熱心網友回復:
那說不定用VB6的“資料庫引擎”也能讀寫(不過我不會用)。
uj5u.com熱心網友回復:
我沒有看到正確答案,只有自己折騰了轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/15136.html
標籤:VB基礎類
