Из вашего кода не видно, откуда происходит RecipeName.В VBA вы можете использовать такой код:
Private Sub CreateWordDoc(RecipeName As String, RecipeContents As String)
Dim wdApp As New Word.Application, wdDoc As Word.Document
With wdApp
.Visible = False
Set wdDoc = .Documents.Add(Visible:=False)
With wdDoc
.Range.Text = RecipeContents
.SaveAs2 FileName:=Application.StartupPath & "\" & RecipeName & ".docx", _
Fileformat:=wdFormatXMLDocument, AddToRecentFiles:=False
.Close False
End With
.Quit
End With
Set wdDoc = Nothing: Set wdApp = Nothing
End Sub
, передавая и RecipeName, и RecipeContents (эквивалентный вашему rtxtRecipeContents.Text) в подпрограмму.Например:
Вызов CreateWordDoc (rtxtRecipeName.Text, rtxtRecipeContents.Text)
Что касается самой проблемы сохранения, у вас может не быть разрешения на запись в папку приложения.Попробуйте заменить:
Application.StartupPath & "\"
, например:
"C: \ Users \" & Environ ("Имя пользователя") & "\Документы \ "
или:
wdApp.Options.DefaultFilePath (wdDocumentsPath) &" \ "