2015-05-13 5 views
2

Созданный код не был создан (не мной и сохранен как * .dotm) в Microsoft Word 97-2003, когда по умолчанию «insert shape/line» был черным. Используется в качестве шаблона процедуры с конкретной титульной страницей, заголовком, контурным стилем и т. Д. Когда файлы * .doc сохраняются в * .docx, а макрос «SignoffLine» активирован, цвет вставленной строки синий (MS Word 2010 по умолчанию для Вставить форму/линию?).Изменить цвет линии вставки с помощью макроса VBA

Я могу изменить цвет по умолчанию для каждого документа, и я могу изменить его с помощью Normal.dotm, но вы хотите отредактировать макрос ниже, поэтому вставленная строка всегда черная.

Sub SignoffLine() 
    On Error GoTo endthis 
    i = Selection.Information(wdVerticalPositionRelativeToPage) 
    Set oFFline = ActiveDocument.Shapes.AddLine(554, i + 12, 524, i + 12).Line 

    With oFFline.Line 
     .Weight = 0.75 
    End With 
     oFFline.Name = "hline" & idi 
     idi = idi + 1 
    endthis: 
End Sub 

ответ

0

Это довольно просто ... Вам нужно определить oFFline объект как Shape, а затем установить его свойства следующим образом:

Sub SignoffLine() 
    Dim oFFline As Shape 
    Dim i As Integer 

    On Error GoTo endthis 

    i = Selection.Information(wdVerticalPositionRelativeToPage) 
    Set oFFline = ActiveDocument.Shapes.AddLine(554, i + 12, 524, i + 12) 

    With oFFline.Line 
     .Weight = 0.75 
     'set black color 
     .ForeColor.RGB = RGB(0, 0, 0) 
    End With 
    oFFline.Name = "hline" & idi 
    idi = idi + 1 

    endthis: 
    Set oFFline = Nothing 
End Sub 

Для получения дополнительной информации, пожалуйста, см: Shape Object (Word) и RGB

+0

Да, это сработало, спасибо! Я пробовал эту строку кода в том же месте: .ForeColor.RGB = RGB (0, 0, 0) , но без Dim в пределах sub. Поиск исходного кода, я нашел фигуры, текст и т. Д., Вызывается в начале –

+0

. Вы очень желанны;) –