HOME
Home
Virus
Noticias
Downloads
Fórum
Livros de Outlook
Eventos
Software / Add-ins
Formação
Blog
Exchange Server

OUTLOOK ARTICLES

Apresentação
Ricardo Silva [MVP]
Marcelo Thalenberg
Clube Hardware
Thomas Quester
Especialistas em Vírus
Artigos de Outlook Express
Abel Alves
Microsoft Office

TÓPICOS
Principiantes
Intermédio
Avançado
Microsoft

PESQUISA

Pesquisa na Web

CONTACTOS
Contacte-nos
Histórico do site
Site na Imprensa
Questões frequentes
Newsletters

VBScript
 

O código que corre por trás de um formulário de Outlook é normalmente escrito em VBScript, uma linguagem simples, portável e que possivelmente conhece sobretudo da utilização nas páginas da Internet para o Microsoft Internet Explorer. O VBScript vem incluido no Internet Explorer, mas também pode ser feito o download separademente, juntamente com os componente DCOM. Deve também ter à mão, documentação sobre esta linguagem, uma vez que o Outlook não inclui informação sobre as funções, métodos e objectos do VBScript.

O VBScript normalmente é actualizado com novas versões do Internet Explorer, mas convém ter a certeza de que versão está a trabalhar, uma vez que existem certos tipos de funções que vão desaparecendo e não podem ser utilizadas.

Em breve vou colocar nesta página, alguns exemplos das possibilidades de utilização do VBScript e da sua utilização com os formulários de Outlook. Também algumas documentação e exemplos práticos para os utilizadores interessados.

Exemplos de código:

Este exemplo de código serve para desactivar um controlo quando se selecciona o outro.

A página modificada é Ticket.

Os controlos são CheckBox1 e ChekBox2.

Os campos são Sim, Não e Anos de experiencia.

Sub Item_CustomPropertyChange(ByVal FieldName)
  Set MyPage = Item.GetInspector.ModifiedFormPages("Ticket")
	Select Case FieldName
  	Case "Sim"   'if user selects Sim
	  MyPage.Controls("CheckBox1").value = false
	  MyPage.Controls("Anos de experiência").enabled = true
	Case "Não"
	  MyPage.Controls("CheckBox2").value = false
	  MyPage.Controls("Anos de experiência").enabled = false
	End Select
End Sub

Este exemplo é necessário quando os utilizadores têm de preencher um campo obrigatoriamente:

Os campos Modelo computador, Sistema operativo e Software são campos e não controlos.

Sub Send_click
    	Item.Save
End Sub
 
Function Item_Write
    If Item.UserProperties.find("Modelo computador") = "" Then
	MsgBox "Deverá preencher o Modelo do PC!"
	Item_Write = False
	Exit Function
    End If
    If Item.UserProperties.find("Sistema operativo") = "" Then
	MsgBox "Deverá preencher o Sistema Operativo!"
	Item_Write = False
	Exit Function
    End If
    If Item.UserProperties.find("Software") = "" Then
	MsgBox "Deverá preencher o Software!"
	Item_Write = False
	Exit Function
    End If
End Function

Código para revelar o nome de utilizador actual.

Sub CommandButton1_Click()

      

   MsgBox "O nome de utilizador é " & Application.GetNameSpace("MAPI").CurrentUser

End Sub

Criar itens (com números sequênciais) numa pasta.

Sub Item_Open()

      ' Set the Outlook NameSpace

      Set olns = Application.GetNameSpace("MAPI")

      ' Set the folder to the Contacts folder

      Set myFolder = olns.GetDefaultFolder(olFolderContacts)

      ' #1/1/4501# is Outlook's internal representation of an empty data value.

      If Item.LastModificationTime = #1/1/4501# Then

         ' Item is a brand new item

         MsgBox "New Item"

         If Item.Mileage = "" Then

            ' We're creating the first item in the folder

            Item.Mileage = 1

         Else

            ' Increment the index in the Mileage field

            Item.Mileage = CStr(CInt(Item.Mileage) + 1)

         End If

         ' The following 3 lines re-publish the form to the Contacts folder with the

         ' new index number in the Mileage field.

         Set myForm = Item.FormDescription

         myForm.Name = myFormName

         myForm.PublishForm olFolderRegistry, myFolder

      Else

         ' Item is an existing item

         MsgBox "Existing Item, doing nothing"

      End If

End Sub

Preencher uma caixa de listagem ou caixa de combinação através do VBScript.

Sub Item_Open()

 

      ' Sets the name of page on the form (P.2)

     Set FormPage = Item.GetInspector.ModifiedFormPages("P.2")

 

      ' Sets Control to a list box called ListBox1.

     Set Control = FormPage.Controls("ListBox1")

 

      ' Assign values to the list box.

     Control.PossibleValues = "Blue;Green;Red;Yellow"

 

End Sub

Como utilizar o ActiveX - XPrint para imprimir um formulário:
1) Faça download do ficheiro xprint.ocx p/ c:\windows\system
2) Registe o ficheiro (regsvr32 xprint.ocx)

'* Imprimir com o X Print

Dim objInsp
Dim objPage1
Dim objXPrint1

Function Item_Open()
Set objInsp = Item.GetInspector
Set objXPrint1 = Item.GetInspector.ModifiedFormPages("Message").XPrint1
objXPrint1.Preview = False
objXPrint1.Controls = Item.GetInspector.ModifiedFormPages("Message").Controls
End Function

Sub cmdPrint_Click()
objXPrint1.PrintForm
End Sub



















 

 
Copyright © rsoutlook.com. Todos os direitos reservados
CV | Parcerias | Publicidade no site

Livro

Já está à venda em várias livrarias do País

O meu segundo livro: "Domine a 110% o Outlook 2003"
da editora FCA. 

Tudo sobre o livro.

Leia o Press Release


(21-06-2004)

Dicas
Dicas de Outlook

Como desbloquear os anexos no Outlook

Configurar o Outlook e o Internet Explorer contra Vírus

Outras dicas...
Artigos + Visitados
Artigos considerados mais interessantes no site ou blog

Formulários de Outlook

Outlook VBA

Um programa está a tentar aceder...

O que há de novo no Outlook 2003 SP1

Enviar imagens como no Outlook Express
PUB