Tag: 数据链接

使用New-Object打开公式,打开excel文件,使用Invoke-Item不打开公式

我需要运行一个脚本,打开一个excel文件,计算一个与Pi DataLink连接的Excel单元,然后告诉我这个值。 如果我试图以标准的方式来做到这一点: $objExcel = New-Object -com Excel.Application $objExcel.Visible = $True $WorkBook = $objExcel.Workbooks.Open("C:\Users\crclayton\sheet.xlsx") $WorkSheet = $WorkBook.Sheets.Item("Sheet1") write-host $worksheet.Range("A1").Text $WorkBook.Save() $WorkBook.Close() $objExcel.Quit() 我收到#NAME? 错误。 即使我只是使用前三行来打开一个Excel文件,看看它,我不能运行计算, =PICurrVal("TAGNAME",0,"SERVERNAME")只是一个死的公式,Excel的不'不知道我是否这样打开它。 我也试过UpdateLinks当我打开文件,但没有骰子。 但是,如果我打开这样的文件: Invoke-Item "C:\Users\crclayton\sheet.xlsx" 我没有收到#NAME? 错误,我可以运行计算和Excel的理解这个公式。 也许这样? Invoke-Item "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" Start-Sleep 10 $objExcel = Get-Process "EXCEL.EXE" $WorkBook = $objExcel.Workbooks.Open("C:\Users\crclayton\sheet.xlsx") $WorkSheet = $WorkBook.Sheets.Item("Sheet1") write-host $worksheet.Range("A1").Text 有没有办法让单元格A1中的值使用Invoke-Item打开电子表格?

如何在VBA中使用唯一标识符引用Excel链接

如何使用唯一标识符在VBA中引用外部工作簿,该文件在打开文件时不会更改? 当包含完整的文件path并且没有打开同名文件时,它工作正常。 但是,打开文件时,文件path的完整格式不起作用,仅文件名不起作用。 我想创build一个更新Sub来更新所有的引用,如果电子表格是打开的(参考下面的第二点),这会自行消失。 这些是我觉得应该有可能的一些原因: 似乎在手动链接更新菜单中只有文件名参考; 也不能打开两个具有相同名称的工作簿,因此,如果您打开源链接,则单元格引用会从文件path更改为文件名(这是导致问题的原因。 这是我目前拥有的代码updCellRef是一个单元格引用的文件path(我只想使用文件名): Sub updateValues(updCellRef) updFilePath = ActiveWorkbook.Sheets("INPUTS").Range(updCellRef).Value ActiveWorkbook.updateLink Name:=updFilePath, Type:=xlExcelLinks End Sub 为了澄清这个问题,当我使用上面的函数来更新值时出现,但是当源电子表格被打开的时候,它被它的文件名引用。 当它closures时,它被完整的文件path引用。 我在VBA v7.0中使用Excel Professional 2010 v14 注意:我不想使用包括Power Query在内的任何其他软件,因为它不能在没有pipe理员权限的情况下安装。