en ocaciones debemos usar documentos creados en Word como platillas, es decir que tienen un formato especifico y bastante eleborado y por obvias razones si deseamos crear dicho docuemento en nuestra aplicacion eso nos llevaria un valioso tiempo,una de las formas muy simples de editar un documento es agregarle los famosos BookMarks (marcadores) y estos editarlos.
manos a la obra...primero creamos un documento muy simple para mostrar este ejemplo, en la hoja en blanco insertaremos un marcador el cual le llamaremos "nombre" sin comillas. y lo guardaremos en el disco local C: con el nombre de marcador.doc o marcador.docx dependiendo de su version de Word.
creamos una nueva aplicacions WindowsForms y en Referencias agregamos Microsoft.Office.Interop.Word.
en la cabezera pondremos :
using Word = Microsoft.Office.Interop.Word;
despues declaramos un elemento privado: private Word.Application apWord;
y le añadimos un nuevo boton y en el evento de clic escribimos el siguiente codigo:
apWord = new Word.Application();
Word.Document doc;
object opc = Type.Missing;
apWord.Visible = true;
string ruta = @"C:\marcador.docx";
object param = ruta;
object nombre = "nombre";
doc = apWord.Documents.Open(ref param, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc);
//en caso que el marcador con el nombre "nombre" exista
if (doc.Bookmarks.Exists("nombre"))
{
Word.Range NOMBRE = doc.Bookmarks.get_Item(ref nombre).Range;
NOMBRE.Text = "CUALQUIER NOMBRE";
object nuevorango = NOMBRE;
doc.Bookmarks.Add("nombre", ref nuevorango);
}
espero que les sirva el ejemplo saludos y feliz navidad.
nota: esto les podra ayudar un poco en caso que el archivo se borre o se cambie de ubicacion:
podemos usar la clase File.Exists(ruta) que regresa un valor Bool :)
manos a la obra...primero creamos un documento muy simple para mostrar este ejemplo, en la hoja en blanco insertaremos un marcador el cual le llamaremos "nombre" sin comillas. y lo guardaremos en el disco local C: con el nombre de marcador.doc o marcador.docx dependiendo de su version de Word.
creamos una nueva aplicacions WindowsForms y en Referencias agregamos Microsoft.Office.Interop.Word.
en la cabezera pondremos :
using Word = Microsoft.Office.Interop.Word;
despues declaramos un elemento privado: private Word.Application apWord;
y le añadimos un nuevo boton y en el evento de clic escribimos el siguiente codigo:
apWord = new Word.Application();
Word.Document doc;
object opc = Type.Missing;
apWord.Visible = true;
string ruta = @"C:\marcador.docx";
object param = ruta;
object nombre = "nombre";
doc = apWord.Documents.Open(ref param, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc, ref opc);
//en caso que el marcador con el nombre "nombre" exista
if (doc.Bookmarks.Exists("nombre"))
{
Word.Range NOMBRE = doc.Bookmarks.get_Item(ref nombre).Range;
NOMBRE.Text = "CUALQUIER NOMBRE";
object nuevorango = NOMBRE;
doc.Bookmarks.Add("nombre", ref nuevorango);
}
espero que les sirva el ejemplo saludos y feliz navidad.
nota: esto les podra ayudar un poco en caso que el archivo se borre o se cambie de ubicacion:
podemos usar la clase File.Exists(ruta) que regresa un valor Bool :)
gracias por la info.. de gran ayuda
ResponderEliminary para poner una imagen
ResponderEliminary para poner una imagen
ResponderEliminarY para poner una imagen?
ResponderEliminarGracias, de mucha ayuda
ResponderEliminar