我有一个复杂的 Powerpoint 演示文稿,最终通过 ISpringPro 导出为一堆单张幻灯片
由于导出过程,需要管理幻灯片之间的导航链接,以便单个导出的幻灯片可以导航到其他幻灯片。
我正在尝试编写一个 VBA 脚本以允许全局查找和替换 powerpoint 中的所有超链接。
我的原型版本工作正常,您在 InputBox 中键入单个 URL,在第二个 Input Box 中键入第二个 URL 以查找和替换。但我想从 2 列 CSV 文件中读取所有这些信息,并让它看起来整体。
我现在无法让 VBA 使用 ADODB 连接打开 CSV 文件。我想我可能缺少参考,但 VBA 确实不是我的强项。
我已经粘贴了下面的代码。但是它Set cn = New ADODB.Connection
不知道那种类型是什么的说法令人震惊。
我是否缺少某种装配参考?
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
Dim csvPath As String
Dim csvFolder As String
csvPath = .SelectedItems(1)
csvFolder = StripFilename(csvPath)
Dim cn As Object
Dim rs As Object
Dim strsql As String
Dim col As Integer
strsql = "SELECT OLDURL,NEWURL FROM " & csvPath
Dim cn As ADODB.Connection, rs As ADODB.Recordset, f As Integer
Set cn = New ADODB.Connection
'On Error Resume Next
cn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"Dbq=" & strFolder & ";" & _
"Extensions=csv,tab,txt;"
'On Error GoTo 0
If cn.State <> adStateOpen Then Exit Sub
Set rs = New ADODB.Recordset
'On Error Resume Next
rs.Open strsql, cn, adOpenForwardOnly, adLockReadOnly, adCmdText
'On Error GoTo 0
If rs.State <> adStateOpen Then
cn.Close
Set cn = Nothing
Exit Sub
End If
Dim iRet As Integer
For f = 0 To rs.Fields.Count - 1
iRet = MsgBox(rs.Fields(f).Name)
Next f
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End With