2009-10-20 2 views
0

Использование VBA в MS Project 2003 и работает с Word Document Я пытаюсь создать новый стиль, используянабор NewStyle не работает

Function CreateStyleHeadingTask(NameStyle As String) As Style 
    Set CreateStyleHeadingTask = Nothing 
    If Not wdDoc Is Nothing Then 
     With wdDoc 
      Set CreateStyleHeadingTask = .Styles.Add(Name:=NameStyle, Type:=wdStyleTypeParagraph) 
      '//.Styles.Add Name:=NameStyle, Type:=wdStyleTypeParagraph 
      With .Styles(NameStyle).Font 
       .Size = 14 
       .Bold = True 
       '//.Color = wdColorBlue 
       .Color = wdColorRed 
      End With 
      Set CreateStyleHeadingTask = .Styles(NameStyle) 
     End With 
    End If 
End Function 

Это будет крах, как только я выполнить оператор Set CreateStyleHeadingTask. Если я удалю 'Set CreateStyleheadingTask =', это не сработает. Что не так и как я могу его исправить?

ответ

0

Ошибка возникает из-за функции типа возвращаемой функции. Вам нужно указать Word.Style, а не только стиль.

Function CreateStyleHeadingTask(NameStyle As String) As Word.Style 

    Set CreateStyleHeadingTask = Nothing 

    If Not wdDoc Is Nothing Then 
     With wdDoc 
      Set CreateStyleHeadingTask = .Styles.Add(Name:=NameStyle, Type:=1) 
      With .Styles(NameStyle).Font 
       .Size = 14 
       .Bold = True 
       .Color = wdColorRed 
      End With 
      Set CreateStyleHeadingTask = .Styles(NameStyle) 
     End With 
    End If 

End Function 
Смежные вопросы