viñetas tipos son simbolos que para las insertar ejemplos como cambiar delphi vba ms-word activex

delphi - tipos - Reemplazar viñetas con guiones en un documento de Word



viñetas en word ejemplos (3)

¿Es esto lo que estás intentando?

Option Explicit ''~~> Select the relevant range before running this code Sub Sample() With ListGalleries(wdBulletGallery).ListTemplates(1).ListLevels(1) .NumberFormat = ChrW(61485) .TrailingCharacter = wdTrailingTab .NumberStyle = wdListNumberStyleBullet .NumberPosition = InchesToPoints(0.25) .Alignment = wdListLevelAlignLeft .TextPosition = InchesToPoints(0.5) .ResetOnHigher = 0 .StartAt = 1 .Font.Name = "Symbol" .LinkedStyle = "" End With ListGalleries(wdBulletGallery).ListTemplates(1).Name = "" Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _ ListGalleries(wdBulletGallery).ListTemplates(1), ContinuePreviousList:= _ False, ApplyTo:=wdListApplyToSelection, DefaultListBehavior:= _ wdWord10ListBehavior End Sub

INSTANTÁNEA

Estoy tratando de reemplazar las viñetas de una lista en un documento de Word con guiones, básicamente solo el "ícono renderizado" para ser reemplazado, es decir,

Reemplazar viñetas de la lista a continuación:

  • este es un elemento de la lista

  • este es otro elemento de la lista

  • otro artículo

con guiones:

- este es un elemento de la lista

- este es otro elemento de la lista

- otro artículo más

Voy a hacer esto usando ActiveX en Delphi, pero el código VB también lo haría, ¡gracias!


Dentro del código Delphi :

uses ..., ComObj; const wdListNumberStyleBullet = 23; var vMSWord : variant; Doc : Variant; oListTemplate : Variant; oListLevel : Variant; iLoopTemplates, iMaxTemplates: Integer; iLoopLevels, iMaxLevels : Integer; begin try vMSWord := GetActiveOleObject(''Word.Application''); vMSWord.Visible := True; Doc := vMSWord.ActiveDocument; iMaxTemplates := Doc.ListTemplates.Count; for iLoopTemplates := 1 to iMaxTemplates do begin oListTemplate := Doc.ListTemplates.Item(iLoopTemplates); iMaxLevels := oListTemplate.ListLevels.Count; for iLoopLevels := 1 to iMaxLevels do begin oListLevel := oListTemplate.ListLevels.Item(iLoopLevels); if (oListLevel.NumberStyle = wdListNumberStyleBullet) and (oListLevel.NumberFormat = UTF8String(#61623)) and (oListLevel.Font.Name = ''Symbol'') then // if (oListLevel.NumberStyle = wdListNumberStyleBullet) then begin oListLevel.NumberFormat := UTF8String(''-''); oListLevel.Font.Name := ''Arial''; end; end; end; except ShowMessage(''Open a Word document before running this method''); end;

El IF actual está comprobando si realmente es una • bala con un •

Si no necesita este control, comente esta línea ( si ... ) y elimine el comentario de la siguiente ...


Una macro que hace el trabajo ...

Dim oListTemplate As ListTemplate Dim oListLevel As ListLevel For Each oListTemplate In ActiveDocument.ListTemplates For Each oListLevel In oListTemplate.ListLevels If oListLevel.NumberStyle = wdListNumberStyleBullet Then With oListLevel .NumberFormat = "-" .Font.Name = "Arial" End With End If Next oListLevel Next oListTemplate