Anthony, mi sfugge qualcosa (che sconosco di sicuro).
Posto parte del codice che utilizzo. All'interno di un ciclo for leggo una serie di righe da un foglio excel con cui compongo un testo.
Alcuni dati sono dei "comandi" e poi c'e' il testo da stampare.
- Codice: Seleziona tutto
'esegue comando
If UCase(xlSheetREP.Cells(cercarigo, 9).Value) = "PRIMA" Then
Select Case Trim(UCase(xlSheetREP.Cells(cercarigo, 5).Value))
Case "ACCAPO"
For y = 1 To Val(Trim(xlSheetREP.Cells(cercarigo, 6).Value))
Selection.TypeParagraph
Next y
Case "INIZIOPUNTATO"
inpu = cercarigo
Case "FINEPUNTATO"
fipu = cercarigo
Case "INIZIONOTA"
Call pie_di_pagina2(xlSheetREP.Cells(cercarigo, 8).Value, xlSheetREP.Cells(cercarigo, 1).Value, xlSheetREP.Cells(cercarigo, 2).Value, False, True, 0, 250, 250, 0)
scrivo = 1
Case "FINENOTA"
Call escinota
scrivo = 1
End Select
End If
Se il comando è "INIZIONOTA" vuol dire che il testo va scritto come nota (ovviamente), quando trovo il "FINENOTA" smetto di scrivere "fuori dal documento" con questa routine e mi posiziono nell'ultimo carattere del testo per continuare ....
- Codice: Seleziona tutto
Public Sub escinota()
Selection.MoveUp Unit:=wdLine, Count:=15
Selection.EndKey Unit:=wdStory
End Sub
La routine pie_di_pagina2 era quella precedente postata con l'implementazione che mi hai suggerito tu che ora è diventata :
Public Sub pie_di_pagina2(testo As String, font As String, size As Long, myBold As Boolean, myCors As Boolean, myUnderl As Long, myR As Long, myG As Long, myB As Long)
- Codice: Seleziona tutto
With ActiveDocument.Styles("Testo nota a piè di pagina")
.AutomaticallyUpdate = True
With .font
.Name = font
.size = size
.Bold = myBold
.Italic = myCors
.Underline = myUnderl
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = RGB(myR, myG, myB)
.Engrave = False
.Superscript = False
.Subscript = False
.Scaling = 100
.Kerning = 0
.Animation = wdAnimationNone
.Ligatures = wdLigaturesNone
.NumberSpacing = wdNumberSpacingDefault
.NumberForm = wdNumberFormDefault
.StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0
End With
End With
With Selection
With .FootnoteOptions
.Location = wdBottomOfPage
.NumberingRule = wdRestartContinuous
.StartingNumber = 1
.NumberStyle = wdNoteNumberStyleArabic
End With
.Footnotes.Add Range:=Selection.Range, Reference:=""
End With
Selection.TypeText Text:=testo
Selection.TypeText Text:=" "
End Sub
Tralasciando i vari attributi del .font (che inseguito sfoltirò), il risultato che continuo ad avere è una nota scritta in Colibrì(corpo) 10 invece di Cambria 9 come vorrei.
Sono certo che font="Cambria" e size=9.
Quindi mi sfugge qualcosa di certo.
Grazie