webForumDet fria alternativet

filnamnet i macro

Kontorsprogram

2 svar · 370 visningar · startad av neversleep

Medlem sedan okt. 2001230 inlägg
Frågan#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

248 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)