ich habe vor einiger Zeit schon mal eine ähnliche Frage ins Forum gestellt, aber leider auf diesen Beitrag keine Antwort bekommen.
Ich versuche seitdem die Lösung selbst zu finden, aber ich scheitere daran. :o(
Hier mein Problem:
Ich habe folgenden code (ein Auszug) aus diesem Forum etwas auf meine Bedürfnisse abgeändert:
Sub Test()
'### START Bilder Auslesen
On Error Resume Next
'### Test Bilder umwandeln
For Each S In .Documents(1).InlineShapes
If S.Type = msoLine Then S.Delete
'If S.Type = msoPicture Then
S.ConvertToShapes
'End If
Next S
If .Documents(1).Shapes.Count > 0 Then
For lngPic = 1 To .Documents(1).Shapes.Count
'Bilder zurüchsetzen auf Originalabmessungen
With .Documents(1).Shapes(lngPic)
.LockAspectRatio = msoFalse
.Reset
.ScaleHeight 1, True
.ScaleWidth 1, True
End With
Next
'Worddatei als HTM speichern
.Documents(1).SaveAs FileName:=strTmpFile, FileFormat:=10, _
LockComments:=False, Password:="", AddToRecentFiles:=False, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False
strPic = Dir(Environ("Temp") & "\dummy-Dateien\*.*")
lngCnt = 0
Do While strPic ""
Zeichen = IIf(InStr(objFiles(lngIndex).Name, "b") > 0, "b", ".")
Name Environ("Temp") & "\dummy-Dateien\" & strPic As strPicPath & _
Replace(Replace(Replace(Replace(Left(objFiles(lngIndex).Name, InStrRev(objFiles( _
lngIndex).Name, Zeichen) + 1) _
, " ", ""), ".b", "b"), "b", "-ZF") & _
IIf(lngCnt > 0, "[" & lngCnt + 1 & "]", "") & Mid(strPic, InStrRev(strPic, "." _
)), "..", ".")
Sleep 500
Kill strPic
strPic = Dir
lngCnt = lngCnt + 1
Loop
End If
.Documents(1).Close saveChanges:=False
Kill strTmpFile
Err.Clear
On Error GoTo ErrExit
'### ENDE Bilder Auslesen
End Sub
Es werden nacheinander Worddocumente geöffnet und als htm gespeichert.
Die enstandenen Bilder werden nun beannant in in einen Ordner kopiert. Ein b wird durch -ZF ersetzt usw.
Wenn die Worddateien so aussehen:
KO-1.1.1.b.doc oder KO-1.1.1.doc
funzt das perfekt auch überflüssige Punkte und Leerzeichen werden gelöscht.
In diesem Beispiel sehen die Bilddateien dann so aus:
KO-1.1.1-ZF.jpg und KO-1.1.1.jpg
Im Falle, dass die Datei so aussieht:
KO-1.1.1b irgendwas.doc habe ich durch:
Zeichen = IIf(InStr(objFiles(lngIndex).Name, "b") > 0, "b", ".")
folgendes Ergebnis:
KO-1.1.1-ZF.jpg
Soweit funzt das auch wirklich prima, aber....
Es sollte so auch bei folgendem Beispielen funktionieren:
KO-1.1.1 2 Test.doc oder KO-1.1.1 test.doc
In diesen Fällen sollten die Bilddateien so aussehen:
KO-1.1.1.jpg
Leider ist das Ergebnis bisher folgendes:
KO-1.1.12Test.jpg und KO-1.1.1test.doc
Ich hoffe ich habe mich nicht zu umständlich ausgedrückt?
Ich hoffe auf eure Hilfe!!!!!!!
Gruß
Dirk R.