Olá!!
Sou novo no fórum e estou aprendendo o VB.Net. Estou utilizando o Visual Studio 2015.
Criei o scritpt que irá produzir 3 relatórios de processos diferentes. Já consegui fazer com que faça as alterações nas variáveis do template e salvar o 1º relatório.
O problema está no 2º relatrório, que faz as alterações no template e quando vou salva-lo me apresenta o erro em epígrafe.
Estou utilizando no script o modulo abaixo:
Imports System.IO
Imports System.IO.IOException
Imports Microsoft.Win32
Imports Microsoft.Office
Imports System.Windows.Application
'Imports System.Data.OleDb 'Para tabelas
Imports Microsoft.VisualBasic
Imports Microsoft.Office.Interop
Module Module1
Friend objWord As Microsoft.Office.Interop.Word.Application
Friend objDoc As Microsoft.Office.Interop.Word.Document
.
.
.
Para abrir o tamplate estou utilizando:
'Istancia a Aplicação Word
objWord = New Microsoft.Office.Interop.Word.Application
objDoc = objWord.Documents.Open(Layout_fch(layout_x))
...
...
..
Para gravar com novo nome:
objWord.ActiveDocument.SaveAs2(Salva_doc(layout_x),Word.WdSaveFormat.wdFormatDocument)
objDoc.Close()
objWord.Quit()
objWord = Nothing
objDoc = Nothing
...
...
Abre o 1º template como ==> "Layout_fch(layout_x)", onde layout_x = 2 e Layout_fch = Documento_A.
Funciona para o 1º arquivo com a saida => "Layout_fch(layout_x)", onde layout_x = 1 e Layout_fch = Documento_A_2016_12_dd.
Abre o 2º template como ==> "Layout_fch(layout_x)", onde layout_x = 2 e Layout_fch = Documento_B.
Não consigo gravar o 2º arquivo com para a saida => "Layout_fch(layout_x)", onde layout_x = 2 e Layout_fch = Documento_B_2016_12_dd.
Este programa funciona no vba do word e estou reescrevendo em vb.net.
Nota: Não sou programador profissional, sou um aprendiz e pela internet.
Agradeço desde já qualquer ajuda.
Abços,
Problema solucionado com a criação de ARRAY para o objeto word e objeto doc:
'Variáveis dos objetos do Word ====================================
Friend objWord(10) As Microsoft.Office.Interop.Word.Application
Friend objDoc(10) As Microsoft.Office.Interop.Word.Document
Friend obj_x As Integer
Os documentos estão sendo gerados com:
obj_x = obj_x + 1
'===> Abre o Layout
objWord(obj_x) = New Microsoft.Office.Interop.Word.Application
objDoc(obj_x) = objWord(obj_x).Documents.Open(Layout_fch(layout_x))
...
...
...
'===> Grava o novo doumento
objWord(obj_x).ActiveDocument.SaveAs(Salva_doc(layout_x))
objDoc(obj_x).Close()
objWord(obj_x).Quit()
objWord(obj_x) = Nothing
objDoc(obj_x) = Nothing
Obrigado,
ECJ