Modificare su file .txt dei Bookmarks personali

di il
1 risposte

Modificare su file .txt dei Bookmarks personali

Ho la necessità di modificare in un file .txt alcune parti del testo che ho "marcato" come fossero dei bookmarks di word.
Ecco esempio del testo da modificare

 Preg.mo Sig. <<?CognomeNome>>

Le comunichiamo che sono state rilasciate le credenziali per poter accedere alla procedura xxxxxxxx<br>
<br>
		Username:	<<?Username>>
		Password:	<<?Password>>

la password è attiva per il solo primo accesso e va modificata immediatamente

con questo codice leggo il file .txt che dovrà poi essere usato come corpo di una mail in cui notifico l'evento di avvenuta registrazione

Dim fso, f
Dim htmlText As String

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\CorsoExcel\Covesap\" & filetxt, 1)

htmlText = vbNullString

Do While f.AtEndOfStream <> True
htmlText = htmlText & f.ReadLine & vbCr
Loop

f.Close
Set f = Nothing
Set fso = Nothing
MsgBox htmlText

vorrei che nel loop do While ogni volta che leggo una riga poter controllare se esiste un "bookmarks" individuato da  
<<?(nome della costante identificativa del campo>>  con un valore effettivo che gli passo.

E' possibile ?
Pensavo di operare in questo modo


Dim fso, f
Dim htmlText As String

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\CorsoExcel\Covesap\" & filetxt, 1)

htmlText = vbNullString

Do While f.AtEndOfStream <> True
htmlText = normalizzaCampo(<<?CognomeNome>>, valoreCognomeNome)  <----   funzione in cui analizzo la riga e provvedo a sostituire il bookmarks     
f.ReadLine 
Loop

' seconda lettura per creare il file effettivo da usare come body dela email da inviare
Do While f.AtEndOfStream <> True
htmlText = htmlText & f.ReadLine & vbCr
Loop

f.Close
Set f = Nothing
Set fso = Nothing
MsgBox htmlText

grazie
Moreno

1 Risposte

  • Re: Modificare su file .txt dei Bookmarks personali

    Un'idea potrebbe essere che mentre leggi ogni riga modifichi con Replace ogni eventuale bookmarks con il valore:

    Option Explicit
    Sub apriTXT()
       Dim fso As Object, f As Object
       Dim htmlText As String
       Dim riga As String
       
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.OpenTextFile("C:\CorsoExcel\Covesap\" & filetxt, 1)
       
       htmlText = vbNullString
       
       Do While f.AtEndOfStream <> True
           riga = f.ReadLine
           riga = Replace(riga, "<<?CognomeNome>>", "Mario Rossi")
           riga = Replace(riga, "<<?Username>>", "mRossi")
           riga = Replace(riga, "<<?Password>>", "12345")
           
           htmlText = htmlText & riga & vbCrLf
       Loop
       
       f.Close
       Set f = Nothing
       Set fso = Nothing
       
       MsgBox htmlText
    End Sub
Devi accedere o registrarti per scrivere nel forum
1 risposte