【发布时间】:2018-02-09 23:58:51
【问题描述】:
有没有办法释放内存并防止以下代码在 MS-Word 中崩溃? 我收到以下错误消息:
由于内存或磁盘问题,此方法或属性不可用。
Sub vbaTest()
Dim doc As Document
Dim sty As Style
Dim s As Style
Dim readingOrder As WdReadingOrder
Dim i As Integer
Set doc = ActiveDocument
Set sty = doc.Styles(wdStyleNormal)
For i = 0 To 100
readingOrder = sty.ParagraphFormat.readingOrder
For Each s In doc.Styles
s.Font.SizeBi = s.Font.Size + 3
Next
Set s = Nothing
Next
Set sty = Nothing
End Sub
-- 或--
public void CsharpRibbon_Click(O.IRibbonControl c)
{
var doc = app.ActiveDocument;
var style = doc.Styles[Wd.WdBuiltinStyle.wdStyleNormal];
for (int i = 0; i < 100; i++)
{
var readingOrder = style.ParagraphFormat.ReadingOrder;
foreach (Wd.Style s in doc.Styles)
s.Font.SizeBi = s.Font.Size + 3;
}
}
上面的代码实际上并没有什么帮助。我有一个功能区按钮,我注意到它在重复按下按钮时会导致崩溃(在 Word 会话中大约 5 或 6 次)。我剥离了代码并添加了 for 循环来模拟多次按下按钮。
【问题讨论】:
标签: c# vba memory-management ms-word vsto