我使用代码从Outlook.msg文件中填充带有字段值(例如主题、发送方等)的Excel表。Outlook.msg文件与Excel文件位于同一个文件夹中。
如果我可以在这个Excel文件中建立到这些消息的超链接,那就很方便了。我希望超链接是“动态的”,如果我将整个文件夹(带有Outlook.msg文件和Excel工作簿)移动到其他位置,则链接仍然工作。
我使用这段代码创建“动态”超链接:超链接字符串= "=HYPERLINK(MID(CELL(""filename"");1;FIND(""["";CELL(""filename""))-1))“& sName
其中sName是Outlook.msg文件名,然后在循环中填充单元格
工作表(“sheetname”).Cells(行,列).Formula=超链接字符串
这给了我1004运行时错误。当我在“=”符号(MID等)前面加上一个空间时,代码运行良好,单元格被填充,当我手动删除空间时,超链接就像一种魅力。为什么这不能直接工作,还有其他的方法吗?
发布于 2014-02-05 22:39:55
在使用.Formula时,您需要在公式中使用逗号,代替分号; (即使本地分隔符是分号):
Hyperlinkstring = "=HYPERLINK(MID(CELL(""filename""),1,FIND(""["",CELL(""filename""))-1))" & sName
Worksheet("sheetname").Cells(Row, Column).Formula = Hyperlinkstring或者是,您可以使用.FormulaLocal而不是.Formula。在这种情况下,您应该在公式(即分号;)中使用本地分隔符:
Hyperlinkstring = "=HYPERLINK(MID(CELL(""filename"");1;FIND(""["";CELL(""filename""))-1))" & sName
Worksheet("sheetname").Cells(Row, Column).FormulaLocal = Hyperlinkstringhttps://stackoverflow.com/questions/21590093
复制相似问题