使用数据连接时,超链接无法从Excel复制到Excel

时间:2015-08-02 23:20:00

标签: excel hyperlink connection

我是托管公共Excel 2010工作簿的最终用户(没有宏,因此其他用户可以感到安全),其中包含EA Sports的Madden NFL Mobile游戏的所有个人玩家统计信息。

我还创建了一个非公开的Macro-Enabled 2010工作簿,用于自动从第三方网站中提取所有相关数据,并将所有数据重新分解为我想要的电子表格布局。 / p>

我启用宏的工作簿的第一列包含玩家的名字,该名称带有该第三方网站上该玩家网页的超链接,并且宏为我创建了这个超链接就好了。

当我使用数据连接自动同步宏书中的数据到非宏书时,所有内容都可以正常复制,除了播放器的名称只有纯文本(没有超链接)

我还尝试将第一列设为excel超链接公式(而不是VBA的超链接功能),但公式也不会通过数据连接传输。

我可以在数据连接文件(.odc)中编辑一些内容以实现我的目标吗?

到目前为止,我唯一的其他解决方法是添加2个额外的隐藏列,其中包含文本链接和播放器名称,然后使用目标表进行混乱,使第一列成为预定义的Excel HYPERLINK公式,将两列重新转换回来进入超链接。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

没关系,我决定只使用一个powershell脚本和批处理文件来完成我的所有复制/粘贴,并一起跳过整个数据连接。

我的" TransferMaddenData.ps1" PowerShell代码:

    $path = "C:\Users\Grego\Desktop\MaddenData.xlsm" 
    $Excel = New-Object -ComObject excel.application 
    $Excel.visible = $false 
    $Workbook = $Excel.Workbooks.open($path) 
    $Worksheet = $Workbook.WorkSheets.item("DataOutput") 
    $Rows = $Worksheet.UsedRange.Rows.Count
    $Rows += 1
    $Cells = "A3:BD" + $Rows
    $Worksheet.activate()  
    $range = $WorkSheet.Range($Cells) 
    $range.Copy() | out-null 

    $path = "C:\Users\Grego\Desktop\Madden1.xlsm" 
    $Workbook2 = $Excel.Workbooks.open($path) 
    $Worksheet = $Workbook2.Worksheets.item("Raw Data") 
    $range = $Worksheet.Range("A3") 
    $Worksheet.Paste($range)  

    $Workbook2.Save()  
    $Workbook.Close()  
    $Excel.Quit() 
    Remove-Variable -Name excel 
    [gc]::collect() 
    [gc]::WaitForPendingFinalizers() 

这是我的" FixMadden.bat"批处理文件:

    @echo off
    color 1F
    echo.

    C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "C:\Users\Grego\Desktop\TransferMaddenData.ps1"

    :EOF
    echo Waiting seconds
    timeout /t 10 /nobreak > NUL

希望有一天这可能会帮助别人!