Compartilhar via


Conceptual Differences Between WordBasic and Visual Basic

A principal diferença entre Visual Basic for Applications (VBA) e WordBasic é que, enquanto a linguagem WordBasic consiste em uma lista simples de aproximadamente 900 comandos, o Visual Basic consiste em uma hierarquia de objetos, cada um dos quais expõe um conjunto específico de métodos e propriedades (semelhante a instruções e funções no WordBasic). Enquanto os comandos do WordBasic podem ser executados a qualquer instante, o Visual Basic expõe apenas os métodos e as propriedades dos objetos disponíveis em um determinado momento.

Os objetos são os blocos de construção fundamentais do Visual Basic; quase tudo o que você faz no Visual Basic envolve a modificação de objetos. Cada elemento do Word, como documentos, parágrafos, campos e indicadores, pode ser representado por um objeto no Visual Basic. Unlike commands in a flat list, there are objects that can only be accessed from other objects. Por exemplo, o objeto Font pode ser acessado de vários objetos, incluindo os objetos Style, Selection e Find .

A tarefa de programação de aplicar a formatação de negrito demonstra as diferenças entre as duas linguagens de programação. A instrução do WordBasic a seguir aplica negrito à seleção.

Bold 1

The following example is the Visual Basic equivalent for applying bold formatting to the selection.

Selection.Font.Bold = True

Visual Basic does not include a Bold statement and function. Instead, there is a Bold property. (A property is usually an attribute of an object, such as its size, its color, or whether or not it is bold.) Bold is a property of the Font object. Likewise, Font is a property of the Selection object that returns a Font object. Seguindo a hierarquia de objetos, você pode elaborar a instrução para aplicar negrito à seleção. A propriedade Bold é uma propriedade Boolean de leitura/gravação. Isso significa que a propriedade Bold pode ser definida como True ou False (ativada ou desativada), ou então seu valor atual pode ser retornado. The following WordBasic instruction returns a value indicating whether bold formatting is applied to the selection.

x = Bold()

O exemplo a seguir é o equivalente do Visual Basic para retornar o status de negrito da seleção.

x = Selection.Font.Bold

O processo de abstração do Visual Basic

To perform a task in Visual Basic, you need to determine the appropriate object. For example, if you want to apply character formatting found in the Font dialog box, use the Font object. Then you need to determine how to "drill down" through the Word object hierarchy from the Application object to the Font object, through the objects that contain the Font object you want to modify. Depois de determinar o caminho para o objeto (por exemplo, ), use o Navegador de Objetos, a Ajuda ou os recursos como Membros da Lista Automática no Editor do Visual Basic para determinar quais propriedades e métodos podem ser aplicados ao objeto. For more information about drilling down to objects using properties and methods, see Understanding Objects, Properties, and Methods.

Properties and methods are often available to multiple objects in the Word object hierarchy. For example, the following instruction applies bold formatting to the entire document.

ActiveDocument.Content.Bold = True

Além disso, os próprios objetos geralmente existem em mais de um lugar na hierarquia de objetos.

Os objetos Selection e Range

Most WordBasic commands modify the selection. For example, the Bold command formats the selection with bold formatting. The InsertField command inserts a field at the insertion point. When you want to work with the selection in Visual Basic, you use the Selection property to return the Selection object. The selection can be a block of text or just the insertion point.

The following Visual Basic example inserts text and a new paragraph after the selection.

Selection.InsertAfter Text:="Hello World" 
Selection.InsertParagraphAfter

In addition to working with the selection, you can define and work with various ranges of text in a document. A Range object refers to a contiguous area in a document with a starting character position and an ending character position. Similar to the way bookmarks are used in a document, Range objects are used in Visual Basic to identify portions of a document. However, unlike a bookmark, a Range object is invisible to the user unless the Range has been selected using the Select method. For example, you can use Visual Basic to apply bold formatting anywhere in the document without changing the selection. The following example applies bold formatting to the first 10 characters in the active document.

ActiveDocument.Range(Start:=0, End:=10).Bold = True

The following example applies bold formatting to the first paragraph.

ActiveDocument.Paragraphs(1).Range.Bold = True

Both of these example change the formatting in the active document without changing the selection. Para obter mais informações sobre o objeto Range, consulte Trabalhando com objetos Range.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.