Usuario
Alinear texto en word con Vbasic

Pregunta
-
Hola quiero hacer un formulario q me alinee un texto a derechas,izquierdas o centro segun se elija la opcion pero no soy capaz.Tengo echo este codigo y funciona todo salvo la alineacion.Pone en cursiva,negrito y subrayado,cambia el color y tamaño pero no hay manera de alinearlo como quiera segun las opciones.Aqui dejo el codigo
Code SnippetDim neg, cur, subr As Boolean
Dim alineacion, color, tamaño
Private Sub cbxColor_Change()
Select Case cbxColor.ListIndex
Case 0
color = azul
lblTam.ForeColor = &HFF0000
Case 1
lblTam.ForeColor = &HFF&
color = rojo
Case 2
color = verde
lblTam.ForeColor = &H8080&
Case 3
color = blanco
lblTam.ForeColor = &HFFFFFF
End Select
End Sub
Private Sub cmbDocumento_Click()
For i = 1 To 8
ActiveDocument.Paragraphs(i).Range.Select
Select Case cbxColor.ListIndex
Case 0
Selection.Font.ColorIndex = wdBlue
Case 1
Selection.Font.ColorIndex = wdRed
Case 2
Selection.Font.ColorIndex = wdGreen
Case 3
Selection.Font.ColorIndex = wdWhite
End Select
Selection.Font.Size = tamaño
If neg = True Then Selection.Font.Bold = wdToggle
If cur = True Then Selection.Font.Italic = wdToggle
If subr = True Then Selection.Font.Underline = wdUnderlineSingle
Next i
Inicio.Hide
End Sub
Private Sub cvrCursiva_Click()
If cur = False Then
lblTam.Font.Italic = True
cur = True
Else
lblTam.Font.Italic = False
cur = False
End If
End Sub
Private Sub cvrNegrita_Click()
If neg = False Then
lblTam.Font.Bold = True
neg = True
Else
lblTam.Font.Bold = False
neg = False
End If
End Sub
Private Sub cvrSubrayado_Click()
If subr = False Then
lblTam.Font.Underline = True
subr = True
Else
lblTam.Font.Underline = False
subr = False
End If
End Sub
Private Sub opcCen_Click()
lblTam.TextAlign = fmTextAlignCenter
alineacion = centro
End Sub
Private Sub opcDer_Click()
If alineacion = centro Then
lblTam.TextAlign = fmTextAlignRight
alineacion = derecha
End If
End Sub
Private Sub opcIz_Click()
lblTam.TextAlign = fmTextAlignLeft
alineacion = izquierda
End Sub
Private Sub scbTam_Change()
Select Case scbTam.Value
Case Is < 10
lblTam.Font.Size = 8
lblt.Caption = "8"
tamaño = 8
Case Is < 20
lblTam.Font.Size = 10
lblt.Caption = "10"
tamaño = 10
Case Is < 30
lblTam.Font.Size = 12
tamaño = 12
lblt.Caption = "12"
Case Is < 40
lblTam.Font.Size = 14
tamaño = 14
lblt.Caption = "14"
Case Is < 50
lblTam.Font.Size = 16
tamaño = 16
lblt.Caption = "16"
Case Is < 60
lblTam.Font.Size = 18
tamaño = 18
lblt.Caption = "18"
Case Is < 70
lblTam.Font.Size = 20
tamaño = 20
lblt.Caption = "20"
End Select
End Sub
Private Sub UserForm_Activate()
neg = False
cur = False
subr = False
alineacion = izquierda
color = negro
tamaño = 8
With cbxColor
.AddItem "Azul"
.AddItem "Rojo"
.AddItem "Verde"
.AddItem "Blanco"
End With
End Sub- Cambiado Enrique M. Montejo viernes, 3 de junio de 2011 16:18 vb6 (De:Lenguaje VB.NET)
Todas las respuestas
-
Ya se que en tu ejemplo estas usando VB 6 y yo lo hice para VB.NEt pero la forma de hacerlo debe ser muy similar:
Code SnippetDim selRange As Word.Range
selRange = doc.Paragraphs.Item(1).Range
selRange.Font.Size = 28
selRange.Font.Bold = True
selRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft
selRange = doc.Paragraphs.Item(2).Range.Sentences.Item(2)
selRange.Italic = True
selRange = doc.Paragraphs.Item(3).Range.Words.Item(6)
selRange.Font.Bold = True
selRange = doc.Paragraphs.Item(5).Range.Words.Item(5)
selRange.Font.Bold = True
Con esta instrucción puedes dar alineación:
Code SnippetselRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeftSalu2
Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta como respondida.
Luis Ruiz Pavón
MCP
-