473,407 Members | 2,312 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,407 software developers and data experts.

Packaging for multiple office versions

Hi

I need to package one of my access apps and send to clients. My app calls
outlook to send emails. The problem is that client pcs can each have a
different version of outlook (2000, xp, 2003 etc.). How can I package my app
that it will work with any version of outlook?

Thanks

Regards
Dec 21 '05 #1
17 1795
If you package in 2000 then 2003 will be able to read it

Dec 21 '05 #2
What you want is Late Binding.

Rather than set a reference to Outlook (which is linked to a specific version),
you would do something like this ...

Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")

The problem is that you don't get intellisense when you do this, so I usually
write my code with bound objects, using a specific reference, and then unbind
them before delivery ... or whenever I'm done working with the objects.

--
Danny J. Lesandrini
dl*********@hotmail.com
http://amazecreations.com/datafast

"John" <Jo**@nospam.infovis.co.uk> wrote ...
Hi

I need to package one of my access apps and send to clients. My app calls outlook to send emails. The problem is that
client pcs can each have a different version of outlook (2000, xp, 2003 etc.). How can I package my app that it will
work with any version of outlook?


Dec 21 '05 #3
John wrote:
Hi

I need to package one of my access apps and send to clients. My app
calls outlook to send emails. The problem is that client pcs can each
have a different version of outlook (2000, xp, 2003 etc.). How can I
package my app that it will work with any version of outlook?


Late binding. This allows you to make use of external libraries without
setitng a reference to them and (for the most part) makes the code version
independent.

--
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com
Dec 21 '05 #4
I am using

Private WithEvents objOutlook As Outlook.Application

and if I change it to

Private WithEvents objOutlook As Object,

I get the error Compile Error, Expected: Identifier on the word Object. Any
way to fix this?

Thanks

Regards
"Danny J. Lesandrini" <dl*********@hotmail.com> wrote in message
news:mN******************************@giganews.com ...
What you want is Late Binding.

Rather than set a reference to Outlook (which is linked to a specific
version),
you would do something like this ...

Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")

The problem is that you don't get intellisense when you do this, so I
usually
write my code with bound objects, using a specific reference, and then
unbind
them before delivery ... or whenever I'm done working with the objects.

--
Danny J. Lesandrini
dl*********@hotmail.com
http://amazecreations.com/datafast

"John" <Jo**@nospam.infovis.co.uk> wrote ...
Hi

I need to package one of my access apps and send to clients. My app calls
outlook to send emails. The problem is that client pcs can each have a
different version of outlook (2000, xp, 2003 etc.). How can I package my
app that it will work with any version of outlook?

Dec 26 '05 #5
Unfortunately, I don't believe you can use Late Binding in conjunction with
WithEvents.
--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)

"John" <Jo**@nospam.infovis.co.uk> wrote in message
news:OO**************@TK2MSFTNGP15.phx.gbl...
I am using

Private WithEvents objOutlook As Outlook.Application

and if I change it to

Private WithEvents objOutlook As Object,

I get the error Compile Error, Expected: Identifier on the word Object.
Any way to fix this?

Thanks

Regards
"Danny J. Lesandrini" <dl*********@hotmail.com> wrote in message
news:mN******************************@giganews.com ...
What you want is Late Binding.

Rather than set a reference to Outlook (which is linked to a specific
version),
you would do something like this ...

Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")

The problem is that you don't get intellisense when you do this, so I
usually
write my code with bound objects, using a specific reference, and then
unbind
them before delivery ... or whenever I'm done working with the objects.

--
Danny J. Lesandrini
dl*********@hotmail.com
http://amazecreations.com/datafast

"John" <Jo**@nospam.infovis.co.uk> wrote ...
Hi

I need to package one of my access apps and send to clients. My app
calls outlook to send emails. The problem is that client pcs can each
have a different version of outlook (2000, xp, 2003 etc.). How can I
package my app that it will work with any version of outlook?


Dec 26 '05 #6
I have no interest in changing or criticizing anyone's practice of
automating Outlook in order to send e-mails.

I used to do this myself. I wrote my first code to do so about eight
years ago. Not so surprisingly there was a discussion then about early
and late binding.

I note there are many posts to CDMA outlining problems with automating
Outlook. I had problems myself, notably when system administrators
enetered fake addresses into system address books in order to confuse
the Melissa virus. They were successfull and they were also successful
in disabling an address search in my application. As they didn't tell
anyone, let alone me, of their covert activity, I was at a loss to
explain why the application worked one day, but not the next. [My first
rule of Access is: It's IT ('s fault).]

For beginners or non-previous-email senders who lurk I would like to
point out that beginning with Windows 2000, Microsoft has provided us
with CDO. CDO is implemented through CDOSys.Dll. CDO sends mail
quietly, simply, quickly, without warning messages and without fuss. I
use CDO now, I don't use Outlook.

Dec 27 '05 #7
Hi Lyle

Many thanks for that. Is it possible to post some sample code?

Many Thanks

Regards

"Lyle Fairfield" <ly***********@aim.com> wrote in message
news:11**********************@g43g2000cwa.googlegr oups.com...
I have no interest in changing or criticizing anyone's practice of
automating Outlook in order to send e-mails.

I used to do this myself. I wrote my first code to do so about eight
years ago. Not so surprisingly there was a discussion then about early
and late binding.

I note there are many posts to CDMA outlining problems with automating
Outlook. I had problems myself, notably when system administrators
enetered fake addresses into system address books in order to confuse
the Melissa virus. They were successfull and they were also successful
in disabling an address search in my application. As they didn't tell
anyone, let alone me, of their covert activity, I was at a loss to
explain why the application worked one day, but not the next. [My first
rule of Access is: It's IT ('s fault).]

For beginners or non-previous-email senders who lurk I would like to
point out that beginning with Windows 2000, Microsoft has provided us
with CDO. CDO is implemented through CDOSys.Dll. CDO sends mail
quietly, simply, quickly, without warning messages and without fuss. I
use CDO now, I don't use Outlook.

Dec 27 '05 #8
TC
More's the &^%$#$!@ pity.

Some of the SMTP mail components have terrific functionality, but also
use WithEvents. Since my own rule is "no early binding", I can't use
any of those components.

TC

Dec 27 '05 #10
Thanks

Regards

"Lyle Fairfield" <ly***********@aim.com> wrote in message
news:11**********************@g49g2000cwa.googlegr oups.com...
http://groups.google.ca/group/comp.d...d9ac8179e2ba41

Dec 27 '05 #11
Bri

Lyle Fairfield wrote:
http://groups.google.ca/group/comp.d...d9ac8179e2ba41


In AC97 (on WinXP PC) I get "Can't add a reference to the specified
file" when I try to add the reference to cdosys.dll (via Browse). If I
Look through my References, I find that there is one called Microsoft
CDO for Exchange 2000 Library (CDOEX.DLL). This seems to be the Exchange
(vs SMTP) version of CDO, I don't think this will help unless I was
runing Exchange. Since it doesn't show up in the listed references I
thought maybe that cdosys.dll needed to be registered, but regsvr32
gives an error message that it failed to register. Any ideas?

--
Bri

ps. Tried to set the reference in VB6 as well (via Browse) and it didn't
give me an error message, but it did NOT add the reference either.

Dec 27 '05 #12
Bri <no*@here.com> wrote in news:Ktgsf.208368$Gd6.47043@pd7tw3no:

Lyle Fairfield wrote:
http://groups.google.ca/group/comp.d...sg/7dd9ac8179e
2ba41


In AC97 (on WinXP PC) I get "Can't add a reference to the specified
file" when I try to add the reference to cdosys.dll (via Browse). If I
Look through my References, I find that there is one called Microsoft
CDO for Exchange 2000 Library (CDOEX.DLL). This seems to be the
Exchange (vs SMTP) version of CDO, I don't think this will help unless
I was runing Exchange. Since it doesn't show up in the listed
references I thought maybe that cdosys.dll needed to be registered,
but regsvr32 gives an error message that it failed to register. Any
ideas?

--
Bri

ps. Tried to set the reference in VB6 as well (via Browse) and it
didn't give me an error message, but it did NOT add the reference
either.

I"m sorry that I don not know what this problem is. I'm "pretty" sure I
have used CDO in Access 97 but I cannot check that now.

I suspect using late binding will not work but myabe it's worth a try.
Examples of late binding a la VB Script (to be used in ASP) can be found at
http://www.w3schools.com/asp/asp_send_email.asp
They should work in Access 97 VB without much change.
--
Lyle Fairfield
Dec 27 '05 #13
Bri


Lyle Fairfield wrote:
Bri <no*@here.com> wrote in news:Ktgsf.208368$Gd6.47043@pd7tw3no:

Lyle Fairfield wrote:
http://groups.google.ca/group/comp.d...sg/7dd9ac8179e
2ba41


In AC97 (on WinXP PC) I get "Can't add a reference to the specified
file" when I try to add the reference to cdosys.dll (via Browse). If I
Look through my References, I find that there is one called Microsoft
CDO for Exchange 2000 Library (CDOEX.DLL). This seems to be the
Exchange (vs SMTP) version of CDO, I don't think this will help unless
I was runing Exchange. Since it doesn't show up in the listed
references I thought maybe that cdosys.dll needed to be registered,
but regsvr32 gives an error message that it failed to register. Any
ideas?

--
Bri

ps. Tried to set the reference in VB6 as well (via Browse) and it
didn't give me an error message, but it did NOT add the reference
either.


I"m sorry that I don not know what this problem is. I'm "pretty" sure I
have used CDO in Access 97 but I cannot check that now.

I suspect using late binding will not work but myabe it's worth a try.
Examples of late binding a la VB Script (to be used in ASP) can be found at
http://www.w3schools.com/asp/asp_send_email.asp
They should work in Access 97 VB without much change.


Thank you for that example. I modified your example code to use the late
binding and it worked perfectly.

Dim iCfg As Object
Dim iMsg As Object
Set iCfg = CreateObject("CDO.Configuration")
Set iMsg = CreateObject("CDO.Message")
'the rest is the same as Lyle's original example

--
Bri

Dec 27 '05 #14
Bri <no*@here.com> wrote in news:R%isf.209298$Gd6.206568@pd7tw3no:
Thank you for that example. I modified your example code to use the
late binding and it worked perfectly.

Dim iCfg As Object
Dim iMsg As Object
Set iCfg = CreateObject("CDO.Configuration")
Set iMsg = CreateObject("CDO.Message")
'the rest is the same as Lyle's original example

--
Bri


Great! :-)

--
Lyle Fairfield
Dec 27 '05 #15
Ted
I can't get the CDO function to work with my Access 2003 database
application.
I'm getting a "The transport failed to connect to the server" error.
I don't understand what I'm missing. I'm using gmail as the smtp server
with my userid and password.
Can someone please help me with a good example?
Thanks!
Ted

Dec 29 '05 #16
TC
What URL have you used? (I bet it wasn't just "gmail".)

Normally you should do a DNS MX query on a domain name, to get the
address of the SMTP server for that domain.

HTH,
TC

Dec 29 '05 #17

"Ted" <be*****@gmail.com> schreef in bericht news:11**********************@z14g2000cwz.googlegr oups.com...
I can't get the CDO function to work with my Access 2003 database
application.
I'm getting a "The transport failed to connect to the server" error.
I don't understand what I'm missing. I'm using gmail as the smtp server
with my userid and password.
Can someone please help me with a good example?
Thanks!
Ted


I guess there is no Internet connection at the time the code runs.
I remember getting the same error when using the cdo-code with a dial-up-connection.

Arno R

Dec 29 '05 #18

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Trevor Fairchild | last post by:
I have an application that I've programmed - it works fine in VB6, and when compiled and packaged, installs and operates fine on my machine. When I install it on another machine (without VB6), it...
1
by: art | last post by:
Hi All, I have a small question. I've just installed visual studio for the microsoft office system which should let me deploy access files with run time. I see that the packaging wizard is shown...
19
by: Blair Adamache | last post by:
IBM is hosting a user focus session to get feedback on a new design concept for installing software products and maintenance. The information below gives a brief summary of the information about...
1
by: Zen | last post by:
From http://support.microsoft.com/kb/828956/ "Note Microsoft does not support the use of multiple versions of Microsoft Office on a Terminal Server. Coexistence is not supported on versions...
12
by: Evan Stone | last post by:
If one is developing a .NET application, how can I develop an application that uses COM automation that targets multiple versions of Word? For example, the signature for the Document.Open method is...
7
by: Dave | last post by:
Apologies for the newbie question. I have created a vb.net program for my company that is designed to work with Word Templates (about forty of them that we commonly use) that are selected by the...
37
by: Allen Browne | last post by:
If you develop for others, you probably have multiple versions of Access installed so you can edit and create MDEs for clients in different versions. This works fine under Windows XP, even with...
15
by: John Nagle | last post by:
I've been installing Python and its supporting packages on a dedicated server with Fedora Core 6 for about a day now. This is a standard dedicated rackmount server in a colocation facility,...
4
by: Mr Seth T | last post by:
Hey, I have spent several days trying to find out how to do something, and i don't know if I am blind or what, but I can not find it. I am developing a web app and I need it to run an activex...
60
by: jim | last post by:
I am looking for an application that will wrap my .Net application (and any needed .Net parts) into a single exe. I know of Thinstall ($4,000 for application and per copy fees for your exes) and...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.