我使用VBA在Word中创建重叠字符:
a = "x"
b = "."
Selection.Fields.Add Range:=Selection.Range, Text:= _
"EQ \o (" & a & "," & b & ")", PreserveFormatting:=False
输出
{ EQ \o (x,.) }
产生:http://img843.imageshack.us/img843/3783/18492133.png。从灰色框中可以看出,角色是宽的。通过手动将字段更改为
,宽度可以减少到http://img838.imageshack.us/img838/1723/69344761.png{ EQ \o (x,.)} or {EQ \o (x,.)}
但是如何在VBA中直接实现?
答案 0 :(得分:0)
我的假设是你需要删除最后一个paranthesis和大括号之间的尾随空格。
Dim x As String
Dim y As String
x =“{EQ \ o(x,。)}”
y =替换(x,“}”,“}”)'注意查找表达式的空格,例如'}' '也可以把')}“替换为”)}“
y成为我认为你想要的输出
您可以使用上面显示的替换功能来完成此任务。
您的代码将成为
a = "x"
b = "."
Selection.Fields.Add Range:=Selection.Range, Text:= _
"EQ \o (" & a & "," & b & ")", PreserveFormatting:=False
Selection.Range.Text = Replace(Selection.Range.Text, ") }", ")}")
答案 1 :(得分:0)
此代码将正确的值分配给字段EQ
ActiveDocument.Fields.Item(numderfield).Code.Text = "EQ \o (" & a & "," & b & ")"