Button To Open Template - Outlook 2003

A

Andreich71

I have a form created in .OFT format.
i want to automatically add a button to the main Outlook window that will
open this form.

I can do it manually - be creating a button with "Edit hyperlink" menu
I also found this script:

Sub MakeItem()
Set newItem = Application.CreateItemFromTemplate("c:\your path\open test.oft")
newItem.Display
Set newItem = Nothing
End Sub
 
K

Ken Slovak - [MVP - Outlook]

If your form has any code in it the form won't run unless it's published.

Otherwise you'd use the ActiveExplorer.CommandBars collection and add a
button to CommandBars("Standard") for adding the button to the Standard
toolbar, to CommandBars("Menu Bar") for a button on the main menu area, etc.

There are lots of examples of adding buttons that way at
www.outlookcode.com. The help in the VBA project for the Object Browser also
has examples for Office.CommandBars, Office.CommandBarButton, etc.
 
A

Andreich71

Thanks.
i really found several examples.

This is my compilation:
-------------------------------------------
Option Explicit

Public WithEvents oCBBCustom As Office.CommandBarButton

Private Sub Application_Startup()
Dim oCB As Office.CommandBar
Dim oCBBTools As Office.CommandBarPopup
Set oCB = Application.ActiveExplorer.CommandBars("Standard")

oCB.Reset

Set oCBBCustom = oCB.Controls.Add(msoControlButton, 1, ,
oCB.Controls.Count, True)
With oCBBCustom
.TooltipText = "my_Button"
.BeginGroup = True
.Style = msoButtonIcon
.Picture = LoadPicture("c:\k.bmp")
.Enabled = True
.Visible = True
End With
End Sub

Private Sub oCBBCustom_Click(ByVal Ctrl As Office.CommandBarButton,
CancelDefault As Boolean)
Dim newItem As Variant

Set newItem = Application.CreateItemFromTemplate("c:\wywo\MyForm.oft")
newItem.Display
Set newItem = Nothing
End Sub
-------------------------------------------

And it works fine on machine where I added this code manually in Visual
Basic Editor.
But I wonder what is the best way to distribute this on a several machines?
I need installation to be silent.
If copying of VbaProject.OTM is a best way to do this?
When i copy this file my script doesn't work and I have to copy outcmd.dat
as well.
 
K

Ken Slovak - [MVP - Outlook]

Deployment of Outlook VBA macros is not recommended and is not a best
practice. You are strongly urged to use a COM addin if you intend to deploy
your code.

There's information at www.outlookcode.com on deploying your code as Outlook
VBA, if you insist on ignoring best practices.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top