2012-06-20 35 views
2

该代码段(从VB6)开始的Word 2003的应用程序,并增加了一个新的文档:禁用“复制大量数据的复制到剪贴板”字警告2003

Dim WithEvents wApp As Word.Application 
Dim WithEvents wDoc As Document 

Set wApp = New Application 

wApp.DisplayAlerts = wdAlertsNone 

Set wDoc = wApp.Documents.Add 
wApp.Visible = True 

方案:

  1. 我从简单的vb6应用程序运行这样的代码。
  2. 我复制一个大的文本(即从网站),并将其粘贴到新的Word文档
  3. 粘贴了几次,到相同的文档,我将其标记中的所有文本后,从 Word中复制它
  4. 然后我关闭这个单词应用程序,拒绝保存文档并在最后得到“....大量的数据...”警告。

我发现的几乎每个例子都描述了MS-Excel和MS-Access案例中的这个警告问题,所以我还没有找到任何可行的MS Word解决方案。 是的,我曾试图改变甚至移除注册表值

HKey_CURRENT_USER\Software\Microsoft\Office\11.0\Common\General\AcbControl 

,而不必MS-Word 2003中

的预警问题的任何影响我以后拿到最后复制的数据关闭单词应用程序,因此清除剪贴板不是解决方案。

MS Word 2003有一个忽略任何警告设置的错误,或者有什么办法可以在关闭Word 2003时禁用“您将大量数据复制到剪贴板上...”警告。在设置中或从某些代码?

+0

大概你想复制格式而不仅仅是文本? –

+0

Excactly!下一步是找到正确的剪贴板格式。使用api函数,CountClipboardFormats我有17种格式,但现在唯一被接受的是1-3。 1仅返回文本; 3将剪贴板作为图像返回(实际上相当不错),2将返回任何我无法看到的内容。 – user759792

回答

1

这个警告信息我相信只有当剪贴板中有大量数据时才会出现。

所以,如果您使用代码清除剪贴板,我相信警告信息将不再显示。

正如你所说,你需要在剪贴板中保存的值,以便临时将其存储在一个变量中,并且一旦你关闭了word文档,然后将保存的有价值物品重新分配回剪贴板。

注意,在Visual Basic 6

有关如何使用Visual Basic 6剪贴板对象请click here

0

的数据对于一些剪贴板格式Word只提供文档Clipboard对象被提供当明确要求时。 Word会警告这些在关闭时需要丢失或产生。我不知道它是否能够被禁用。