AAmorim Posted October 9, 2012 at 07:22 PM Report #478478 Posted October 9, 2012 at 07:22 PM 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
David Carpinteiro Posted October 12, 2012 at 06:07 PM Report #478885 Posted October 12, 2012 at 06:07 PM Boas, Vê se isto ajuda. http://answers.microsoft.com/en-us/office/forum/office_2007-word/microsoft-office-word-120-there-is-not-enough/166f4778-ebf2-417d-9c5a-1e17ea87e3cb ou http://support.microsoft.com/kb/980616 David
AAmorim Posted October 12, 2012 at 07:54 PM Author Report #478895 Posted October 12, 2012 at 07:54 PM Obrigado pela ajuda, mas infelizmente não resultou 😞
jlpcalado Posted October 14, 2012 at 09:20 PM Report #479159 Posted October 14, 2012 at 09:20 PM 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.
AAmorim Posted October 15, 2012 at 01:52 PM Author Report #479221 Posted October 15, 2012 at 01:52 PM 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!
AAmorim Posted October 15, 2012 at 04:40 PM Author Report #479234 Posted October 15, 2012 at 04:40 PM (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 October 15, 2012 at 04:42 PM by Lincky
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now