2015-10-12 39 views
1

这里插入复杂的Excel公式是原来的文章:link.使用PowerShell

现在我的问题:

使用.formula,我可以走得很远,但我有一个非常复杂的公式,它不不想工作。

在Excel工作代码:

=IF(ISBLANK(G2),"",VLOOKUP("*"&LEFT(G2,9)&"*",'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE)) 

不会在PowerShell中的工作代码:我运行PowerShell脚本后

$ws.Cells.Item($intRow,9).Formula = '=VLOOKUP("*"$([char]38)LEFT(G$intRow,5)$([char]38)"*",'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE)' 

,细胞在其中我插入公式是空白的。

任何想法?

回答

2

我太亲密了,需要寻求帮助才能找到答案!

$ws.Cells.Item($intRow,9).Formula = "=IF(ISBLANK(G$intRowMem),$([char]34)$([char]34),VLOOKUP($([char]34)*$([char]34)&LEFT(G$intRowMem,5)&$([char]34)*$([char]34),'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE))" 

回答自己的问题并将答案标记为答案是否合乎道德?

编辑

每@TheMadTechnician,这也可以解决如:

$ws.Cells.Item($intRow,9).Formula = "=IF(ISBLANK(G$intRowMem),`"`",VLOOKUP(`"*`"&LEFT(G$intRowMem,5)&`"*`",'\\compname\path\to\excel\[ramdata.xlsx]20151009'!A:B,2,FALSE))" 
+0

哇,你经历了很多麻烦就在那里得到的那些双引号...在未来你可以在你的字符串中使用反引号(\)将它们转义出来,或者将它们加倍,例如'“路径”“C:\ Temp”“实际上并不需要引号”'会出现作为'路径“c:\ temp”实际上并不需要引号“。如果它真的回答了问题,那么接受你自己的答案就可以了。 – TheMadTechnician

+0

我已经使用反引号,但并没有认为它的工作。真正发生的是我一次尝试了很多事情。我确实尝试过,而且很长时间,并且保持不动。 – hostyd

+0

你可以做到这一点,但你需要等一下:http://stackoverflow.com/help/accepted-answer –