filnamnet i macro

Kontorsprogram

2 svar · 392 visningar · startad av neversleep

Medlem sedan okt. 2001230 inlägg
Trådstart#1

Hur får man tag på filändelsen på sitt dokument VBA. Är inne i word och testar me.fullname men får då bara namnet...utan ändelse. Det jag är intreserad av är filändelsen...doc eller docx

Medlem sedan okt. 2005371 inlägg
#2

Dokumentet får inget "riktigt" namn/typ förrän du sparat det första gången.

Jämför:
Sparat dokument
ActiveDocument.Name (utan sökväg, med ändelse)
ActiveDocument.FullName (Med sökväg, med ändelse)

Nyskapat dokument med "tempnamn"
ActiveDocument.Name (Kortnamn utan sökväg, utan ändelse)
ActiveDocument.FullName (Kortnamn utan sökväg, utan ändelse)

Om du bara får "namnet" utan sökväg och ändelse så antar jag att du tittar på ett osparat dokument.

strDocName = ActiveDocument.Name

If Not (InStr(strDocName, ".") > 0) Then Exit Sub
    
iSistaPunkt = Len(strDocName) - InStrRev(strDocName, ".")
strDocName = Right(strDocName, iSistaPunkt)
Medlem sedan okt. 2001230 inlägg
#3

aj då, tack för ditt svar.

problemet är att jag i koden ska göra en saveas och då måste jag ha ett fullständigt namn. Hur vet man om man ska spara som dokument.doc eller dokument.docx, xls osv?
Dvs beroende på vilken applikation man använder vill jag spara i dess format

249 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)