0

我有一个复杂的 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
4

1 回答 1

0

刮那个。

我需要以管理员身份运行 power point,然后在宏编辑器中转到

工具 > 参考 >

并添加对最新 Microsoft ActiveX 数据对象库的引用。

于 2013-11-08T12:29:21.920 回答