Hallo und guten Morgen
Ich rätsele an einem Problem herum und hoffe hier auf Hilfe die Forumssuche hat leider nichts ergeben.
Ich verwende hier einen Code der leider nicht von mir erstellt wurde und bin auch kein Crack was Programmierung angeht.
Dieser Teil des Codes soll ein Document ( Testsolution) umwandeln, sodass ein neues Document erstellt wird (Testquestion).
Mit der einen Vorlage ( sind 2 verschiedene) funktioniert alles ohne Probleme sobald aber die zweite drin ist bekomme ich Laufzeitfehler 91.
Leider kann ich das nicht über den Debugger laufe lassen ud Schrittweise vorgehen, wird immer "Projekt kann nicht angezeigt werden" ausgeworfen. Nur wenn ich die Prodezur direkt öffne kann ich die bearbeiten.
Habe nachvollzogen in welchem Teil scheinbar der Fehler auftritt indem ich das neue Document anschaue und sehe bis wohin es bearbeitet wurde.
Diesen Teil der Codes werde ich hier drunter Posten.
Bis zu der eingefügten Linie scheint alles zu funktionieren. danach nicht mehr.
Die folgenden Zeilen habe schon Auskommentiert aber ohne Änderung, daher vermute ich den Fehler im Teil davor obwohl das zu funktionieren scheint.
Public Sub CreateTestFromSolution()
' Test if active document is a TES
Dim pDocInfo As cDocumentInfo
Set pDocInfo = New cDocumentInfo
pDocInfo.FromFileName ActiveDocument.name
If pDocInfo.TypeEnum <> itsCwTypeTestSolution Then
MsgBox ActiveDocument.name & " ist keine Test-Lösung (TES)", vbCritical + vbOKOnly, "Courseware Prüfer - " & ActiveDocument.name
Exit Sub
End If
' copy active document
Dim na As String, nna As String, ndoc As Document, oDoc As Document
Set oDoc = ActiveDocument
na = ActiveDocument.FullName
nna = Replace(na, "TES", "TE")
Set ndoc = Application.Documents.Add(ActiveDocument.FullName)
' now save the copy
ndoc.SaveAs2 FileName:=nna, FileFormat:=wdFormatXMLDocument, _
LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False, CompatibilityMode:=15
oDoc.Close SaveChanges:=wdDoNotSaveChanges
ndoc.Activate
' connect with template 'ITS-Test-Questions.dotm'
AutoTemplateSub
' and remove all comments from previous checking
RemoveAllCheckComments
' and remove the watermark
TestWatermark itsCwTypeTestQuestions
' get the building blocks for 'ITS:TE Anfangstext' and 'ITS:TE:PointsScored'
Dim tpl As Template, bblat As BuildingBlock, bblps As BuildingBlock, ins As Boolean
For Each tpl In Application.Templates
If tpl.name = "ITS-Test-Questions.dotm" And ins = False Then
Set bblat = tpl.BuildingBlockEntries("ITS:TE Anfangstext")
Set bblps = tpl.BuildingBlockEntries("ITS:TE:PointsScored")
ins = True
Else: tpl.name = "PTS-Test-Questions.dotm" And ins = False
Set bblat = tpl.BuildingBlockEntries("ITS:TE Anfangstext")
Set bblps = tpl.BuildingBlockEntries("ITS:TE:PointsScored")
ins = True
End If
Next tpl
'Debug.Print bblat.Type.name & " " & bblps.Type.name & " " & bblps.Category.name
Ich danke im Vorfeld schonmal für eure Hilfe
Cord
|