• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 824
  • Last Modified:

Sending a "message" to another system or another user

First, I have as workbook I am using in a way that is NOT recommeded. Sharing... I am resolving that by migrating to ACCESS, so please DONT BUST ON ME)
I would think that my request would also be applicable for my long term fix in access as well.

I have a network of users that are working on different projects. What I would like to do is when an event happens, to send a message (prefer IM) to a user to get their attention and let them know something has happened and needs more attention. I would also "like" to incorperate this as part of my error handling process, but if I can get a generic version of something, then I can make the mods for that.

I can do this via email, but I do not want to clutter up the email inbox, as there could be many sends during the day.

We use Office Communicator 2005,  and I am looking to see if there is a way that I could use this. I have tried the code below, only to find out that Office Communicator 2005 does not have SENDTEXT. Is there another way to handle this in Office Communicator 2005?

Here is the code:
Sub sendIM()

Dim msgr As CommunicatorAPI.IMessengerConversationWndAdvanced
Dim ToUser As String

Dim message As String

Application.ScreenUpdating = False

 ToUser = "me@mycompany.com"
  ToUser1 = "MyName@division.MyCompany.com"  'Using this email format fails. This IS how my email is, it DOES have a subdomain!

message = "test vba communicator"

On Error GoTo 0

Set msgr = Messenger.InstantMessage(ToUser1) 'Using this email format fails. This IS how my email is, it DOES have a subdomain! This is WHERE it fails with a "RUN TIME ERROR '-2147467259 (80004005) method 'InstantMessage' of object 'IMessenger3' failed"

'Send message to window
msgr.SendText (message)  ' Only for comm 2007 and later.... So I also get an error here.

Application.ScreenUpdating = True

End Sub

Now, yo may say why just upgrade to Communicator 2007, and I would say I would love to, but, being in a large company, all systems are locked down, and I have tried to go that route, but IT says NO.

NET SEND is disabled. And I don't have rights to Enable it. Tried that also...

So, I can really only work with EXCEL/ACCESS for my solution.

Another possible way I have thought of is send from one instance of EXCEL on one machine to another instance on a different machine. This COULD be done by passing a message via a shared workbook, but I am trying to get away from that and I also don't have the overhead to keep watching that worksheet., so I am looking for something else.


  • 2
  • 2
1 Solution
Dale FyeCommented:
Will all of your users have your Access application loaded all the time?  If so, you could write your own IM functionality within the application.  You would need a table with fields like ID, UserFrom, UserTo, SentDateTime, Message, MarkAsRead.

when you want to "send a message" you just write a record to this table.  Then you have a form in each users application that is loaded on startup and hidden immediately (unless there is a message waiting for that individual, in which case you would display the message(s)).  Then, on that form, the user could reply, delete the message, or mark it as read.  This is really pretty simple to implement if your users will actually be using the application all the time.
BrujAuthor Commented:
would not "monitoring" it take a lot of overhead?
Dale FyeCommented:
not really, set the Timerinterval to once a minute or so, then use the timer event to check to see if there are any unread messages for the user.
BrujAuthor Commented:
Created a second workbook(shared) that is being monitored, when a cell changes, the message is displayed on system A
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now