VBA: send email from remote excel using local outlook - vba

The problem I am trying to solve is that I want Excel to send an email through Outlook. This is worked fine when I am using a local installation of Excel.
However I need to be able to do the same using an installation of Excel on a server. The debugger points to this line in the code:
Set OutApp = CreateObject("Outlook.Application", "localcomputername")
At first I tried without reference to local computer this gave me error:
Runtime Error 429 - ActiveX Component Can't Create Object
With the line above I get the following errormessage:
Runtime error 463 - class not registered on local machine
Hope someone can help me

When you use the New operator or the CreateObject function in Microsoft Visual Basic to create an instance of a Microsoft Office application, you may receive the following error message:
Run-time error '429': ActiveX component can't create object
This error occurs when the Component Object Model (COM) cannot create the requested Automation object, and the Automation object is therefore unavailable to Visual Basic. This error does not occur on all computers.
View this for More information - https://support.microsoft.com/en-in/kb/828550

Related

CreateItemFromTemplate Type mismatch

I have code to generate an email based on data on a userform.
It worked for a long time across multiple machines, but when I changed machines it started throwing a run-time error 13 type mismatch on on the CreateItemFromTemplate method in the following section:
Private Sub AcaoEnviar_Click()
Dim OutlookApp As New Outlook.Application
Dim EmailKRI As Outlook.MailItem
Set EmailKRI = OutlookApp.CreateItemFromTemplate(PATH_EMAIL_TEMPLATE)
The code still runs on other machines, suggesting the problem is local. My Outlook library is the same as on the other machines, and the only difference I´m aware of is that I´m running it on a 64-bit system and 32-bit office, while most others have 32-bit systems (one other has the same 64-bit setup and runs fine).
Changing the object declaration from Outlook.MailItem to Object seems to solve the problem, which I think eliminates problems with Outlook's programmatic access, and in any case, my Antivirus status is valid.
I'm still confused as to why such an error would occur only with me.
Is there any solution so that I can go back to early binding for that email object?
You will get that error if CreateItemFromTemplate returns something other than MailItem object. Are you sure the OFT file is for a regular mail item.
As a test, declare EmailKRI as a generic Obejct and at run time check the value of the EmailKRI.Class property. It is supposed to be 43 (OlObjectClass.olMail) for the regular MailItem objects.

COM object not working after migrating to IIS 7.5

I am moving a classic ASP application from IIS6 to IIS7.5 and I am having troubles with COM dependencies.
This is the problematic code
SET o = Server.CreateObject("ClassName")
Response.Write "Returned object: " & TypeName(o)
result = o.SomeMethod()
The first line succeeds, the second line prints "Returned object: ClassName".
The third line ends with an error
Error: 429
Source: Provider
Description: Class not registered
I don't know, whether that is a 32 x 64 bit issue (the server is 64bit, the old one was 32bit). But I did set the "Enable 32-Bit Application" property of the application pool to True.
Is it normal that Server.CreateObject returns an object and it is the method call that actually fails?
We are using WIX script to register the COM classes (I did not do any modifications in this part).
I can find my class in the registry in Computer\HKEY_CLASSSES_ROOT\Wow6432Node.
I would appreciate any pointers, this drives me crazy.
You have got an instance of ClassName. No error on object creation and TypeName confirms it. So, the component is correctly registered.
But, does it reference another component which is used from the method you are calling? It seems a not controlled error raises from inside your class.

Sync to Outlook 2010 with redemption in vb.net

I am developing an application where I want to sync the outlook calendar, mail, etc.
The piece of code which is there with me is working fine for outlook 2003, 2007.
but I don't know what's the problem it is causing for outlook 2010.
I use the following:
redemption dll 5.4 version-32 bit
office object core 14 dll-32 bit
office -32 bit version
visual studio 2008
I am getting this error:
Cannot create ActiveX component.
On the following line:
session = CreateObject("Redemption.RDOSession")
Where session is:
Dim session As Redemption.RDOSession
After which the following error is displayed:
Either there is no default mail client or the current mail client cannot fulfill the messaging request
I have tried various things but it's same. I also reinstalled, repaired outlook, repaired registry.
Any ideas?
this worked for me:
first, I will say I used the Customize.exe that comes with redemption to create a dll called ffloader.dll
Next, I registered that dll as follows (32 bit)
regsvr32 ffloader.dll
Finally in the vb.net code I created the session as follows:
Dim Session As Redemption.RDOSession = CreateObject("ffloader.ffRDOSession")
Hope that helps!

Problem when i am accessing ActiveX DLL from VB.NET

Good morning.
I have to access the active x dll which is installed on my system from VB.net.
I added as reference and followed all the steps as given in
I have declared
private mycomponent as activexcomponent.libclass
and i gave constructor for this i.e. creating the object for this class in the constructor of the main form as
mycomponet = new activexcomponent.libclass()
Then the following expection is coming when i tried to run the program.
System.InvalidOperationException: An
error occurred creating the form. See
Exception.InnerException for details.
The error is: Creating an instance of
the COM component with CLSID
{D8A27DFF-A4B8-440E-8571-71A37D39403E}
from the IClassFactory failed due to
the following error: 800a0196. --->
System.Runtime.InteropServices.COMException:
Creating an instance of the COM
component with CLSID
{D8A27DFF-A4B8-440E-8571-71A37D39403E}
from the IClassFactory failed due to
the following error: 800a0196.
I have registered the activex dll. I tried my best to figure out the problem but could not succeed in this.
Please can any one help me out?
Thanks a lot.
As far as I know, that's not a standard HRESULT so you should really read the documentation or contact the developers of the ActiveX control to find out from them what it means. However, I did find comments that for some control it meant that it needs to be shown as modal, so you could try making the form modal (show it using ShowDialog) and see if that makes any difference.

MSSOAP30 Object error: 0x80004002: Interface does not exist (VB)

I'm well and truly stuck with MS SOAP 3.0, which I'm currently running from VBA Excel in Office 2003. I have used MS SOAP Toolkit 3 to create a proxy class which I am using. If I don't use it, I don't get the error, but then I'd have to write out the entire proxy class by hand and it's massive.
When my program is first run, I get "Class not registered". If I run it again I get "Interface not supported". The error messge is:
run-time error: '-2147467262'
SoapMapper: The SoapMapper for element
callContextIn could not be created
HRESULT=0x80004002: No such interface
supported.
-WSDLOperation:Initialisation of a SoapMapper for operation getSNFormat
HRESULT=0x80004002: No such interfce
supported.
The error occurs when:
Set sc_PartService = New SoapClient30
Help would be greatly appreciated.
Thanks
Just now I deleted "Set", got an error of course, put it back and it ran properly. Once. Not again, and I've been unable to recreate this. Never encountered anything like that before!
HAve you checked if the COM object exists / is registered?