Jump to content

Recommended Posts

Posted

Boas noites!

Eu tenho um ficheiro rtf guardado no disco C:\

O meu programa substitui vários campos que estão nesse ficheiro, por outros campos.

Dim strPath = C:\teste.rtf
	 Dim fs As New FileStream(strPath, FileMode.Open)
	 Dim sr As New StreamReader(fs)
	 Dim strFile As String
	 strFile = sr.ReadToEnd()
	 sr.Close()
	 Dim fstwo As New FileStream(strPath, FileMode.Create)
	 strFile = strFile.Replace(("0001"), f_RemoveAcento(Contacto_EmergenciasMaskedTextBox.Text))
	 strFile = strFile.Replace(("0002"), f_RemoveAcento(NomeTextBox.Text))
	 strFile = strFile.Replace(("0003"), f_RemoveAcento(IdadeTextBox.Text))
	 strFile = strFile.Replace(("0004"), f_RemoveAcento(Data_NascimentoMaskedTextBox.Text))
	 strFile = strFile.Replace(("0005"), f_RemoveAcento(SexoComboBox.Text))
	 strFile = strFile.Replace(("@34434"), f_RemoveAcento(ResidenciaTextBox.Text))
	 strFile = strFile.Replace(("0007"), f_RemoveAcento(ConcelhoTextBox.Text))
	 strFile = strFile.Replace(("0008"), f_RemoveAcento(FreguesiaTextBox.Text))
	 strFile = strFile.Replace(("0009"), f_RemoveAcento(BIMaskedTextBox.Text))
	 strFile = strFile.Replace(("0010"), f_RemoveAcento(Cartao_CidadaoMaskedTextBox.Text))
	 strFile = strFile.Replace(("0016"), f_RemoveAcento(TelemovelMaskedTextBox.Text))
	 strFile = strFile.Replace(("87878787878"), f_RemoveAcento(EmailTextBox.Text))
	 strFile = strFile.Replace(("0018"), f_RemoveAcento(AlergiasTextBox.Text))
	 strFile = strFile.Replace(("$00$##5545"), f_RemoveAcento(Doencas_CronicasTextBox.Text))
	 strFile = strFile.Replace(("##009##2223$"), f_RemoveAcento(MedicacaoTextBox.Text))
	 strFile = strFile.Replace(("%%$6776776"), f_RemoveAcento(Cuidados_AlimentaresTextBox.Text))
	 strFile = strFile.Replace(("6242624262426242"), f_RemoveAcento(Outras_InformacoesTextBox.Text))
	 strFile = strFile.Replace(("0011"), f_RemoveAcento(Cod_PostalMaskedTextBox.Text))
	 strFile = strFile.Replace(("0013"), f_RemoveAcento(Cod_Postal_EEMaskedTextBox.Text))
	 strFile = strFile.Replace(("$99987787"), f_RemoveAcento(Residencia_EETextBox.Text))
	 strFile = strFile.Replace(("%&33355355"), f_RemoveAcento(Telemovel_EEMaskedTextBox.Text))
	 strFile = strFile.Replace(("0014"), f_RemoveAcento(Telefone_EEMaskedTextBox.Text))
	 Dim sw As New StreamWriter(fstwo)
	 sw.Write(strFile)
	 sw.Flush()
	 sw.Close()

Ele substitui tudo direito de acordo com o planeado. O problema é que ao abrir esse documento obtenho o seguinte aviso do office:

'Não há memória ou espaço em disco suficientes para concluir a operação'

Alguem tem ideia do que está a funcionar mal? :S

Posted

Uma das possíveis(?!) .... razões pode ter a ver com os suplementos COM (add-ins) associados ao MsWord.

Experimenta removê-los (um a um...para detetares qual é o que está a interferir).

Outra das possibilidades poderá ter a ver com o modelo de defeito (normal.dot(x)).

A 1ª já me aconteceu.

Posted

Bem, no meu caso parece que não é nenhuma das possibilidades mencionadas. O mais impressionante é que o modelo funciona direito e o microsoft office não se queixa, mas a minha aplicação cria uma cópia e substitui todas as variáveis, o office passa a se queixar!

Posted (edited)

Bem consegui fazer de outra forma:

	 objWord = CreateObject("Word.Application")
	 objWord.Documents.Open(caminho_ficheiro)
	 If Not Contacto_EmergenciasMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@ContactoUrgencias", Contacto_EmergenciasMaskedTextBox.Text)
	 End If		
       If Not NomeTextBox.Text = Nothing Then
		 SubstituiVariavel("@Nome", NomeTextBox.Text)
	 End If
	 If Not IdadeTextBox.Text = Nothing Then
		 SubstituiVariavel("@Idade", IdadeTextBox.Text)
	 End If		
       If Not Data_NascimentoMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@DataNascimento", Data_NascimentoMaskedTextBox.Text)
	 End If
	 If Not SexoComboBox.Text = Nothing Then
		 SubstituiVariavel("@Sexo", SexoComboBox.Text)
	 End If		
       If Not ResidenciaTextBox.Text = Nothing Then
		 SubstituiVariavel("@Residencia", ResidenciaTextBox.Text)
	 End If
	 If Not ConcelhoTextBox.Text = Nothing Then
		 SubstituiVariavel("@Concelho", ConcelhoTextBox.Text)
	 End If		
       If Not FreguesiaTextBox.Text = Nothing Then
		 SubstituiVariavel("@Freguesia", FreguesiaTextBox.Text)
	 End If
	 If Not BIMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@BI", BIMaskedTextBox.Text)
	 End If		
       If Not Cartao_CidadaoMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@CartaoCidadao", Cartao_CidadaoMaskedTextBox.Text)
	 End If
	 If Not Cod_PostalMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@Cod_Postal", Cod_PostalMaskedTextBox.Text)
	 End If	   
        If Not Residencia_EETextBox.Text = Nothing Then
		 SubstituiVariavel("@EE_Residencia", Residencia_EETextBox.Text)
	 End If
	 If Not Cod_Postal_EEMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@EE_Cod_Postal", Cod_Postal_EEMaskedTextBox.Text)
	 End If		
        If Not Telefone_EEMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@EE_Telefone", Telefone_EEMaskedTextBox.Text)
	 End If
	 If Not Telemovel_EEMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@EE_Telemovel", Telemovel_EEMaskedTextBox.Text)
	 End If		
       If Not TelefoneMaskedTextBox.Text = Nothing Then
		 SubstituiVariavel("@Telemovel", TelemovelMaskedTextBox.Text)
	 End If
	 If Not EmailTextBox.Text = Nothing Then
		 SubstituiVariavel("@Email", EmailTextBox.Text)
	 End If	   
        If Not AlergiasTextBox.Text = Nothing Then
		 SubstituiVariavel("@Alergias", AlergiasTextBox.Text)
	 End If
	 If Not Doencas_CronicasTextBox.Text = Nothing Then
		 SubstituiVariavel("@DoencasCronicas", Doencas_CronicasTextBox.Text)
	 End If		
       If Not MedicacaoTextBox.Text = Nothing Then
		 SubstituiVariavel("@MedicacaoEspecifica", MedicacaoTextBox.Text)
	 End If
	 If Not Cuidados_AlimentaresTextBox.Text = Nothing Then
		 SubstituiVariavel("@CuidadosAlimentares", Cuidados_AlimentaresTextBox.Text)
	 End If		
        If Not Outras_InformacoesTextBox.Text = Nothing Then
		 SubstituiVariavel("@InfosRelevantes", Outras_InformacoesTextBox.Text)
	 End If

De qualquer forma obrigado pela ajuda! XD

Edited by Lincky

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.