Secondo me hai queste possibilità:
A) Devi creare una If (con gestione errore) tale che se c'è errore con .txt, deve eseguire la riga con .docx.
B) Se non vuoi gestire l'errore, devi controllare se il file esiste nella directory, sempre con If. Si usa la funzione Dir. Penso sia la soluzione più corretta/ortodossa. Qui di seguito ti riporto dei miei appunti che spiegano come usare MkDir (che non ti serve) e Dir
Dir e MkDir.
È possibile creare una cartella sfruttando MkDir:
MkDir "C:\Cartella1\Cartella2\Cartella3"
si può usare anche una variabile K di tipo Stringa in cui è stato preventivamente assegnato un path
Dim K As String
K = "C:\Cartella1\Cartella2\Cartella3"
MkDir K
Prima di creare una directory conviene sempre controllare che se essa esiste già o no, grazie a Dir
Dim K As String
K = "C:\Cartella1\Cartella2\Cartella3"
If Dir(K, vbDirectory) = "" Then MkDir K
Dir permette di tirare fuori l'ultima parte a destra del path. Dir si può usare anche nel caso in cui il path termina con un file
K = Dir("C:\Cartella1\Cartella2\Cartella3\File.pdf")
in K ci va a finire "File.pdf"
Se si Esporta (OutputTo) un file e si vuole preventivamente controllare se tale file esiste o meno nella directory
If Dir(PathReferto, vbDirectory) = "" Then DoCmd.OutputTo acOutputReport, "RefertoCorrente", acFormatRTF, PathReferto
in questi casi ho usato vbDirectory accanto e mi sono sempre trovato bene (non trascurarlo).
C) Soluzione a basso costo: crea 2 pulsanti con 2 codici diversi.