我是托管公共Excel 2010工作簿的最终用户(没有宏,因此其他用户可以感到安全),其中包含EA Sports的Madden NFL Mobile游戏的所有个人玩家统计信息。
我还创建了一个非公开的Macro-Enabled 2010工作簿,用于自动从第三方网站中提取所有相关数据,并将所有数据重新分解为我想要的电子表格布局。 / p>
我启用宏的工作簿的第一列包含玩家的名字,该名称带有该第三方网站上该玩家网页的超链接,并且宏为我创建了这个超链接就好了。
当我使用数据连接自动同步宏书中的数据到非宏书时,所有内容都可以正常复制,除了播放器的名称只有纯文本(没有超链接)
我还尝试将第一列设为excel超链接公式(而不是VBA的超链接功能),但公式也不会通过数据连接传输。
我可以在数据连接文件(.odc)中编辑一些内容以实现我的目标吗?
到目前为止,我唯一的其他解决方法是添加2个额外的隐藏列,其中包含文本链接和播放器名称,然后使用目标表进行混乱,使第一列成为预定义的Excel HYPERLINK公式,将两列重新转换回来进入超链接。
有什么想法吗?
答案 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
希望有一天这可能会帮助别人!