如何以编程方式将撇号插入 Cell 对象 (Visio Addin)

How to insert programmatically apostrophes into Cell object (Visio Addin)

当我尝试像这样将撇号插入单元格时:

newName = "name with aposttrophes \"";
myShape.Cells[myCell].FormulaU = '"' + newName  + '"';

我遇到以下异常:"\n\nMissing quote."

是否可以向 Cell.Formula Visio 对象插入撇号?

TLDR;使用双引号:

newName = "name with aposttrophes \"\"";

说明:当您使用.FormulaU时,您实际上设置了一个公式值。意思是,您指定的表达式由 Visio 解释为公式并计算。常量字符串是有效的表达式。字符串中的单引号 "ends" 您的公式,您在其中得到奇数个引号(未闭合的引号),因此出现此错误消息。所以在分配之前,只需复制字符串中的所有引号,如下所示:

myShape.Cells[myCell].FormulaU = '"' + newName.Replace("\"", "\"\"") + '"';

在回读时(如果你使用相同的 .FormulaU 来回读,而不是 .Characters.Text,这是更可取的,因为它计算字段),做相反的事情并去重所有报价。