无法从Excel复制并粘贴到窗体编辑受限制的Word文档,除非限制关闭
问题描述:
我正在将Excel单元格内容复制到窗体编辑受限制(2010)Word文档上的书签,但只有在保护功能关掉。无法从Excel复制并粘贴到窗体编辑受限制的Word文档,除非限制关闭
代码我目前必须打开保护再次错误。什么是正确的代码?
有没有办法在不关闭保护的情况下进行复制和粘贴?
第二个问题是当文本被粘贴到书签上时,字体是红色的(如果在文档上手动输入它是黑色的)。 Word的默认设置为黑色(我重置默认的好措施)。在新文档中键入的内容是黑色的,但是,当Word打开字体图标时,即使检查默认设置仍然显示为黑色,但显示为红色。我可以在VBA中定义字体颜色来覆盖此问题,直到解决问题或者您能否提出解决Word默认设置的方法?
Sub Arzbericht_Brandstetter()
' x - Defined Cell Names - ARTBrandPATH , ARTBrandDOC
' Excel Word Bookmark
' x - Defined Cell Names - ARZKrankenhaus Text65
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ActiveWorkbook
Set ws = ActiveSheet
Dim Wd As Object
Dim wdDoc As Object
Dim BrandstetterDoc As Object
Dim BrandstetterPath As String
Dim f As Boolean
BrandstetterPath = ActiveSheet.Range("ARTBrandPATH").Value & ActiveSheet.Range("ARTBrandDOC").Value & ".doc" ' x
' On Error Resume Next
Set BrandstetterDoc = GetObject(BrandstetterPath)
If BrandstetterDoc Is Nothing Then
Set Wd = GetObject(, "Word.Application")
If Wd Is Nothing Then
Set Wd = CreateObject("Word.Application")
If Wd Is Nothing Then
MsgBox "Failed to start Word!", vbCritical
Exit Sub
End If
f = True
End If
Set BrandstetterDoc = Wd.Documents.Open(BrandstetterPath)
If BrandstetterDoc Is Nothing Then
MsgBox "Failed to open Brandstetter Document!" & vbNewLine & _
" Check File Directory is correct", vbCritical
If f Then
Wd.Quit
End If
Exit Sub
End If
Wd.Visible = True
Else
With BrandstetterDoc.Parent
.Visible = True
.Activate
' Turn Protection OFF
With ActiveDocument
.Unprotect "xxxxx"
.Protect wdAllowOnlyRevisions, , Password:="xxxxx"
End With
BrandstetterDoc.Bookmarks("Text65").Range.Text = ws.Range("ARZKrankenhaus").Value
' Turn Protection ON (Restricted Editing)
' ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End With
End If
End Sub
答
因为它的Formfield,而不仅仅是一个书签,我改变了代码,如下所示,解决了奇怪的红色字体问题。我现在可以复制到受保护的文档。
From
BrandstetterDoc.Bookmarks("Text65").Range.Text = ws.Range("ARZKrankenhaus").Value
To
ActiveDocument.FormFields("Text65").Result = ws.Range("ARZKrankenhaus").Value