2009-10-20 13 views
0

utilisation de VBA dans MS Project 2003 et de travailler avec un document Word je tente de créer un nouveau style en utilisantensemble NewStyle ne fonctionne pas

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 

Cela va se planter dès que j'exécute l'instruction Set CreateStyleHeadingTask. Si je supprime le 'Set CreateStyleheadingTask =', il ne plante pas. Qu'est-ce qui ne va pas et comment puis-je le corriger?

Répondre

0

L'erreur est due au type de données de retour de fonction. Vous devez spécifier Word.Style, pas seulement 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