PDA

Ver la Versión Completa : se puede guardar el formato de un documento word y volver a ponerlo cuando se quiera


walace_soy
07-05-2003, 13:44:22
hola amigos, tengo un documento de word y les quiero quitar el salto de pagina, haciendo una serie de cosas consigo quitar los saltos de pagina pero tengo un problema no guarda el formato que tiene el documento, hay alguna forma de poder obtener el formato de un documento de word desde delphi y volver a aplicarlo tras haber hecho alguna modificacion?
Gracias a quien me pueda ayudar y a quien no tambien por leerlo.
Ciao.

Perdon, sino se puede hacer lo que acabo de decir a ver si se puede hacer lo siguiente.
El contenido de un documento (tablas, saltos de pagina,etc) lo guardo en una variable String, para buscar los saltos de pagina y borrarlos, y luego pongo en el documento ese string, de modo que ya no hay ni tablas ni nada y aunque si que he quitado los saltos de pagina no queria quitar la tabla. Como podria volver a poner el string pero con formato en el documento?.
A ver si esto es mas plausible.
Gracias.

walace_soy
08-05-2003, 10:57:54
Hola ya tengo solucionado el asunto de salto de pagina, el tema esta en coger la variable o el objeto de delphi que representa el Word y poner lo siguiente.

for X:=1 to VariableWord.ActiveDocument.Paragraphs.Count do
begin
if VariableWord.ActiveDocument.Paragraphs.Item(X).Range.Text=#12 then
VariableWord.ActiveDocument.Paragraphs.Item(X).Range.Text:='';
end;

Lo que hago es recorrerme los parrafos para evaluar si su contenido es el caracter que busco(salto de pagina) y si es lo cambio por un espacio, vosotros podeis cambiarlo por cualquier otro caracter. Asi no pierdo el formato del documento aunque si es cierto que es un poco mas lento el proceso de abrir el word y realizar la combinacion de correspondencia con datos de nuestra base de datos.

Puedes hacer algo un poco mas rapido pero que pierde el formato, que es coger el contenido del documento y guardarlo en una variable string:
Contenido:=VariableWord.ActiveDocument.Content.Text;
entonces en buscas en contenido el caracter que deseas en mi caso el salto de seccion o de pagina.
while (Pos(#12,Contenido) > 0) do
begin
Delete(Contenido,Pos(#12,Contenido),1);
end;
y luego lo devolvemos al documento pero sabiendo que hemos perdido formato.
VariableWord.ActiveDocument.Content.Text:=Contenido;

Si solo teneis texto sin formato este sistema os puede venir bien porque es rapido.

Bueno esos dos sistemas son los que he podido encontrar para quitar los saltos de pagina de un documento, si alguien tiene algun sistema me gustaria que me lo dijese, gracias a todos los que habeis leido mis mensajes.