Encabezado y pie de pagina

21/12/2008 - 19:58 por Alberto Origone | Informe spam
Hola:

Uso Office 2000 y quisiera saber si hay alguna posibilidad de hacer que,
mediante algun programa o script de visual basic, todos mis documentos
hechos en Word hasta ahora se les añadiera en el encabezado el titulo
del archivo y en el pie "pagina x de xx".
Lo mismo para los archivos de Excell

Tengo unos cuantos archivos.

Desde ya gracias por cualquier ayuda

Preguntas similare

Leer las respuestas

#11 Monica May
30/12/2008 - 23:17 | Informe spam
Hola Lisandro,


Te pongo el codigo que me genero al hacer la macro y ponele o corregile lo
que falta. Por mas que intente me daba toda clase de errores.




Bien primero de todo abre visual basic de Word de cualquier archivo [ desde
la interfaz de Word dale a las teclas [ Alt + F11 ] ] asi abriras VB de
Word .

bien a la Izquierda segun escribes en el teclado :-P >>

Veras que tienes ahi el proyecto - proyect

donde existe lo siguiente ->

Normal
Proyect(Documentocualquiera)

donde estan los modulos Estandar y ThisDocument

Bien Despliega donde pone Normal que esa es la plantilla [ Normal.dot ]
okeis ?

Dale 2 clicks donde pone [ ThisDocument ] y veras que se te abre el
escenario para que peges ahi el siguiente codigo >>

'[]

Private Sub Document_Open()

Dim x As String, y As Range, m As Range

Set y = ActiveDocument.Sections(1).Headers _
(wdHeaderFooterPrimary).Range
Set m = ActiveDocument.Sections(1).Footers _
(wdHeaderFooterPrimary).Range
x = Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)
With y
.Delete
.InsertAfter x
.Font.Size = 9
End With

With m
.Delete
.InsertAfter vbTab & vbTab
.Collapse wdCollapseEnd
.Fields.Add Range:=m, Type:=wdFieldNumPages
.Collapse wdCollapseEnd
.InsertAfter " de "
.Collapse wdCollapseStart
.Fields.Add Range:=m, Type:=wdFieldPage

End With

End Sub

'[]

Una Vez Pegado ahi en [ ThisDocument ] pero del proyecto [ Normal ] Dale al
boton Guardar desde ahi mismo desde la interfaz de VBA asi guardara el
codigo ya directamente en Normal.dot

Ahora cierra ese documento y >>

1.- Abre un archivo que ya tengas
2.- Abre un nuevo archivo

compara, comprueba y demas y comentanos cualqueir duda y demas :-) !!




El codigo Expuesto--
' Macro1_MonicaMay
' Macro registrata il 29/12/2008 da Lisandro
' se activa con Ctrl + 9
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
NormalTemplate.AutoTextEntries("Nome file").Insert
Where:=Selection.Range
Selection.TypeText Text:=vbTab & vbTab
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldDate
Selection.TypeText Text:=" "
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldTime
Selection.MoveLeft Unit:=wdCharacter, Count:, Extend:=wdExtend
Selection.Font.Size = 9
ActiveDocument.SaveAs FileName:= _
"C:\Documents and Settings\Papucho\Dati
applicazioni\Microsoft\Modelli\Normal_Monica.dot" _
, FileFormat:=wdFormatTemplate, LockComments:=False, Password:="",
_
AddToRecentFiles:=True, WritePassword:="",
ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False,
SaveFormsData _
:=False, SaveAsAOCELetter:=False
If Selection.HeaderFooter.IsHeader = True Then
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Else
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
End If
NormalTemplate.AutoTextEntries("Autore").Insert Where:=Selection.Range
Selection.TypeText Text:=vbTab
NormalTemplate.AutoTextEntries("Pagina X di Y").Insert
Where:=Selection. _
Range
Selection.MoveLeft Unit:=wdCharacter, Count:#, Extend:=wdExtend
Selection.Font.Size = 9
ActiveDocument.Save
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
Respuesta Responder a este mensaje
#12 Monica May
30/12/2008 - 23:30 | Informe spam
Anotacion:

se puede crear otro codigo para los documentos nuevos con el evento >>


Private Sub Document_New()

End Sub

para que no te lo cree en los documentos nuevos, en el caso que no quieras
abrir todos los documentos...

.comentanos...!!

Saludos
Monica
Respuesta Responder a este mensaje
#13 Monica May
30/12/2008 - 23:40 | Informe spam
Rectifico:

Creo que no te va a hacer falta aplicar ningun codigo mas adicional :) con
el evento open tendras suficiente para los antiguos y NO para los nuevos
pero. haz las pruebas con tu [ version de Word ] y comentas a ver okeis
:-) !!


Saludos
Monica
Respuesta Responder a este mensaje
#14 Lisandro Gracias
02/01/2009 - 01:48 | Informe spam
Monica:


Muchas gracias por lo que me ayudaste.


Saludos agradecidos


Lisandro

"Monica May" escribió en el mensaje de
noticias:uRkCw#
Rectifico:

Creo que no te va a hacer falta aplicar ningun codigo mas adicional :)
con el evento open tendras suficiente para los antiguos y NO para los
nuevos pero. haz las pruebas con tu [ version de Word ] y comentas a
ver okeis :-) !!


Saludos
Monica
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida