- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到了这段代码,我一直在使用 Excel 2003,它模仿了不久前 Microsoft 网站上给出的解决方案。如何向形状的文本框架添加超过 255 个字符:
For i = 0 To Int(Len(myTxt) / 255)
.Characters(.Characters.Count + 1).Insert Mid(myTxt, (i * 255) + 1, 255)
Next i
这在 Excel 2007 下不起作用。有两个问题。
.Characters(.Character.Count).Insert
会起作用,即使这不是我想要做的。(.Character.Count)
处插入将删除最后一个字符。现在,我已经内置了逻辑,可以根据您使用的 Excel 版本进行不同的操作。但我找不到与这个问题相关的任何内容。这是一个已知的错误吗?有没有办法解决这个问题?
(在相关说明中,我也无法设置 .Characters(x,y).Font.Underline
= True。)
编辑 在我的特定示例中,上面的代码包含类似 With myWorksheet.Shapes(1)
的内容,其中形状是一个文本框。它里面已经有文本,我需要向其中附加 myTxt
(长度超过 255 个字符的 string
)。这段代码在 Excel 2003 上运行没有问题。我在其他地方看到过这个问题,但正在从 Stack Overflow 寻找关于它的正式声明...
最佳答案
我同意,你的代码在 2003 年可以工作,但在 2007 年就失败了。但令我惊讶的是,它居然还能工作。尝试引用 .Characters
集合中的“one more”字符应该抛出一个错误 - 如果你打破了上面的行,正如我认为你指出的那样在第 1 点中,您会看到具体是 .Characters(.Characters.Count + 1)
做到了这一点。失败的不是方法,而是不存在的成员,这对我来说似乎是正确的。
下面的代码可以在 2003 年和 2007 年实现您想要的功能。
Public Sub Loop_InsertTest()
Dim MyWks As Excel.Worksheet
Dim MyTxt As Shape
Dim MyFrme As TextFrame
Dim i As Long
Const StartText As String = "This is a very, very, very, very, very, very, very, very, very, very, very, " _
& "very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, " _
& "very, very, very, very, very, very, very, very, very, very, long piece of text."
Const MaxIterations As Long = 1000
Debug.Print Len(StartText)
Set MyWks = ThisWorkbook.Worksheets(1)
Set MyTxt = MyWks.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 1000, 1000)
Set MyFrme = MyTxt.TextFrame
'Debug.Print TypeName(MyTxt), MyTxt.Name'
MyFrme.Characters.Text = StartText
MyFrme.AutoSize = True
For i = 1 To MaxIterations
Insert_ThisText MyFrme, " Now it's even longer."
Next i
End Sub
Private Sub Insert_ThisText(pFrme As TextFrame, _
pstrText As String)
Dim strRight As String
Dim i As Long
With pFrme
For i = 0 To Int(Len(pstrText) / 254)
strRight = .Characters(.Characters.Count).Text
.Characters(.Characters.Count).Insert strRight & Mid(pstrText, (i * 254) + 1, 254)
'Debug.Print Len(pstrText), .Characters.Count'
Next i
End With
End Sub
关于vba - Excel Shape.TextFrame.Characters.Insert 在 Excel 2007 上是否损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5483735/
MigraDoc 中的文本框非常方便,但当我向超出文本框边界的文本框添加段落时,它只会溢出到框架之外。但我不希望文本超出框架。 我已经定义了文本框边界 TextFrame textFrame =
我需要导航和提取 TextFrame 的内容;这意味着:文本及其样式、变量和内部 pageItems。 我可以列出所有段落,对于每个段落我可以获得 TextStyleRanges(参见 this qu
我已经尝试在他们的论坛上提出问题,但尚未收到回复,希望有人能在这里帮助我。 我在 asp.net 中设置了一个自定义报告屏幕,人们可以在其中拖动标签和字段,Migradoc 通过使用文本框和顶部/左侧
标题几乎说明了一切。 我的代码如下: sh.TextFrame.Characters.Font.Name = "SimSun" 此代码仅更改所有英文和单字节符号的字体。 所有双字节符号和汉字保持默认字
我正在尝试使用 inDesign JSX 脚本将以下数据插入到文档中: data = [{heading:"Heading 1", content: ["Some content"]}, {head
TextFrame#nextTextFrame 告诉我 TextFrame 是否溢出;我还可以按照 StorySplitter 的方式拆分两个 TextFrames。 我似乎无法弄清楚的是:第二个 T
我正在编写一个 Excel VBA 宏,它将文本复制到 Word for Windows 文件中,并且 稍后为其添加格式。 它使用包含 Logo 的 .dotx 模板。左下角是一个带有序列号的文本框。
使用 Indesign CS5.5,我收集了大量组 - 所有组都带有图像和文本框架。文本框默认有 3 段。 我需要从每个文本框架的第一段中获取文本。 到目前为止我有这个: var textboxes
示例,在 Powerpoint 中: The TextFrame object: Represents the text frame in a Shape object. Contains the t
我有一个执行以下操作的脚本: var document = app.documents.item(0); var layer = document.layers.itemByName(
我无法确定 DataMergeField 是否包含在 TextFrame 中。 var document = app.open('template.indd'); var dataMerge = do
我目前正在使用 InDesign Server 编写一些 Javascript 脚本。在更改格式或将 XML 放入其中后,我无法尝试可靠地检测 TextFrames 中的溢出。 例如,我有一个函数可以
我得到了这段代码,我一直在使用 Excel 2003,它模仿了不久前 Microsoft 网站上给出的解决方案。如何向形状的文本框架添加超过 255 个字符: For i = 0 To Int(Len
我想用JS编辑Indesign文档中的一些textframe内容。但我找不到任何解决方案来通过对话框窗口中的反馈进行任何更改。所以我只有一个简单的文档,其中有一个名为 test 的 Textframe
我是一名优秀的程序员,十分优秀!