473,396 Members | 1,894 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,396 software developers and data experts.

OE Address Book interface not too friendly with exporting - Seeking A97 solution to read it

MLH
Anyone ever experiement importing WAB data
directly into A97? Would lke a chance to look
at any work done in this arena.
Apr 8 '06 #1
11 2275
MLH
With respect to this objective, has anyone ever
tried the A97 database posted at
http://www.spahn-web.de/sonstiges/oekontaktedemo/
< OEKontakteDemo.zip (178 KB) >

???

I couldn't get it to work for me.
Apr 8 '06 #2
On Sat, 08 Apr 2006 15:03:31 -0400, MLH <CR**@NorthState.net> wrote:
Anyone ever experiement importing WAB data
directly into A97? Would lke a chance to look
at any work done in this arena.


Out of interest did a google groups search on "wab oe a97" and the first page started :

OE Address Book interface not too friendly with exporting ...
Anyone ever experiement importing WAB data directly into A97? Would
lke a chance to look at any work done in this arena.
comp.databases.ms-access - Apr 8, 11:03 pm by MLH - 1 message - 1 author

Access and Windows Address Book
Is there a way to access the windows address book (.WAB) from A97? I'd like to
synchronise addresses in my A97 application with the WAB from Outlook Express. ...
microsoft.public.access.modulesdaovba - Feb 22 2001, 11:10 am by Christoph Keller - 1 message - 1
author

mds87.jpg, part 2/4
.... W]?U<TIU72J*K'=._W M:Z67_ [=#]#_ (%_&=_%WAB#5VE:/S ... 2%UF9IM2O1O4W-Q\FYR"Q"
M-$%"\85LY[<>L^&[NST6R,5B&"*OE*67<6 ... Y6FSU%AO834).\&]O/7:^WT?2_H:?A_7M1\) MW$=M?:A97] ...
alt.sex.fetish.feet - Mar 22 1995, 5:19 am by MDoc - 1 message - 1 author

Best nudists photos series - nl_059.jpg
.... PB[W2)RR_$JG_A% M<!&DMW;^X3/M:6THHJJ.D>%>`ICEOBP[KU+A97>SPK(MW ... GA"513 MMQB+7\ZN\BO*
H2#(D'4PR;5P6F*:WAB;N4%++,^Q& ... H(G`VJTCG2*YB>9.9!(M0@0AL MZ<S:O3A71KJ/]OE.V5\"5W ...
alt.sex.wanted.escorts.ads - Dec 2 1999, 12:19 am by Dr. N - 1 message - 1 author

Nasty Story: (M/fffff Extreme NC, Snuff, Torture, Tots, Blood ...
.... K`*?;1.*R7G1&E= M5U5/K1!$P.2B(\(7CJNI(_<7.\WAB$GOUJ)69V ... H+I9=^:S=%9AOOD$*QDW[2+BSDTLV?
6XUEZ/FL154F1 M(3>OE=5<(D8T ... 0^R>E/("7_FK+EP]C<8JESTW >MB?YP@<A97(QJNR8W3G:A+ ...
alt.sex.bondage - Nov 30 1996, 4:42 pm by doc - 1 message - 1 author

Um!

You can write something yourself based on:

Exporting OE's Addressbook (Text/CSV)
http://www.steve.maurer.net/tutorial...essbookCSV.htm

cheers

Apr 8 '06 #3
MLH <CR**@NorthState.net> wrote in news:h15g321qsb694vne30imjdms8d6jn1agea@
4ax.com:
With respect to this objective, has anyone ever
tried the A97 database posted at
http://www.spahn-web.de/sonstiges/oekontaktedemo/
< OEKontakteDemo.zip (178 KB) >

???

I couldn't get it to work for me.


I tried it before it existed.

--
Lyle Fairfield
Apr 8 '06 #4
MLH
Bully for you. My searches turned up some promising
gems. One called useOEWAB.dll, I cannot seem to
find anything about. Anyone know of it? I'm seeking
documentation on it. I can't find anything.
Apr 8 '06 #5
As usual, we have to ask you, wtf do you want to do? If you want to
find out Fred Jones WAB address and Fred Jones is in your WAB then this
(first posted may years ago) may do it.

Option Explicit

Type MAPIRecip
Reserved As Long
RecipClass As Long
Name As String
Address As String
EIDSize As Long
EntryID As String
End Type

Declare Function MAPIResolveName _
Lib "c:\program files\outlook express\msoe.dll" _
Alias "BMAPIResolveName" ( _
ByVal Session As Long, _
ByVal UIParam As Long, _
ByVal UserName As String, _
ByVal Flags As Long, _
ByVal Reserved As Long, _
ByVal Recipient As Long) As Long

Public Function GetEmailAddressThroughOE(ByVal strName As String) As
String
' should bring up resolve name dialog if name not found
Dim r As MAPIRecip
MAPIResolveName 0, 0, strName, MAPI_DIALOG, 0, VarPtr(r)
GetEmailAddressThroughOE = StrConv(r.Address, vbUnicode)
End Function

Public Sub Test()
Debug.Print GetEmailAddressThroughOE("Candace Bergen")
End Sub

Apr 8 '06 #6
rkc
Lyle Fairfield wrote:
MLH <CR**@NorthState.net> wrote in news:h15g321qsb694vne30imjdms8d6jn1agea@
4ax.com:

With respect to this objective, has anyone ever
tried the A97 database posted at
http://www.spahn-web.de/sonstiges/oekontaktedemo/
< OEKontakteDemo.zip (178 KB) >

???

I couldn't get it to work for me.

I tried it before it existed.


One of the many modules in my testingLylesShit.mdb file.

Apr 8 '06 #7
MLH
Sorry about the 'usual' - my mistake. Here is precisely
what I want to do. I want to modify Michael Spahn's
global module (below) enabling it to extract the WAB
file [business address | city | state | zip] fields. Trouble
is - I don't know anything about useOEWAB.dll

I thought lines like
Private Declare Function oe_getWABAddress Lib "useOEWAB.dll" Alias
"getWABAddress" (ByVal idx As Long, ByVal strBuffer As String) As Long
Private Declare Function oe_getWABPhone Lib "useOEWAB.dll" Alias
"getWABPhone" (ByVal idx As Long, ByVal strBuffer As String) As Long
Private Declare Function oe_getWABZipCode Lib "useOEWAB.dll" Alias
"getWABZipCode" (ByVal idx As Long, ByVal strBuffer As String) As Long
would likely be supported - in the useOEWAB library - I just don't
know.

Michael's complete OEKontakteDemo.zip (178 KB) file can be found at
http://www.spahn-web.de/sonstiges/oekontaktedemo/

Option Compare Database
Option Explicit

'
+-------------------------------------------------------------------------------
' | Zugriff auf "Address Book"-Kontakte von "Outlook Express" via
API-Calls
'
+-------------------------------------------------------------------------------
' |
' | Für den Zugriff auf die Outlook-Express-Kontakte wird die eine
zusätzliche
' | DLL-Datei benötigt:
' |
' | - Die DLL-Datei "useOEWAB.dll" muß gefunden werden, d.h. daß sie
' | nötigenfalls in den Pfad gesetzt oder in das Windows-System-
' | Verzeichnis kopiert werden muß.
' |
'
+-------------------------------------------------------------------------------
' |
' | Hinter der hier verwendeten DLL und dieser Demo-Datenbank stand
nicht die
' | Intension alle Funktionen des Adressbuches zu kapseln, sondern auf
ein paar
' | wenige Felder des Standard-Adressbuches möglichst simpel
zuzugreifen.
' |
' | Prinzipiell könnte man die DLL um Zugriffsmöglichkeiten für alle
Felder des
' | Adressbuches erweitern, sowie schreibende Zugriffe und das Löschen
und Neu-
' | anlegen von Kontakten.
' |
' | Aber da ich eben nur einige wenige Funktionalitäten benötigt habe,
habe ich
' | es auch dabei belassen. :-)
' |
' | Die DLL entstand sozusagen nur aus der Notwendigkeit heraus, daß
Outlook-
' | Express im Gegensatz zu Outlook keine Automation unterstützt. :-(
' |
'
+-------------------------------------------------------------------------------
' |
' | Diese Access97-Demo-Datenbank, der darin enthaltene Code sowie die
DLL-Datei
' | "useOEWAB.dll" dürfen frei weitergegeben werden, solange keine der
' | Dateien verändert und/oder der Copyright-Hinweis entfernt wird.
' |
' | Eine Nutzung des Codes in eigenen Programmen ist gestattet,
solange Module
' | vollständig(!) und unverändert(!) übernommen werden und somit auch
der
' | Copyright-Hinweis unverändert bestehen bleibt.
' |
' | Michael Spahn,
' | sp***@michael-spahn.de
' |
'
+-------------------------------------------------------------------------------
' | (C) 01.03.2002, Michael Spahn
'
+-------------------------------------------------------------------------------

'DLL-Deklarationen:
'------------------

Private Declare Function oe_initWAB Lib "useOEWAB.dll" Alias
"initUseOfWAB" () As Long
Private Declare Sub oe_endWAB Lib "useOEWAB.dll" Alias
"endUseOfWAB" ()
Private Declare Function oe_getWABDLLInfo Lib "useOEWAB.dll" Alias
"getWABDLLInfo" (ByVal strBuffer As String) As Long
Private Declare Function oe_getWABStdFile Lib "useOEWAB.dll" Alias
"getWABStdFile" (ByVal strBuffer As String) As Long
Private Declare Function oe_getWABCount Lib "useOEWAB.dll" Alias
"getWABCount" () As Long
Private Declare Function oe_getWABName Lib "useOEWAB.dll" Alias
"getWABName" (ByVal idx As Long, ByVal strBuffer As String) As Long
Private Declare Function oe_getWABEMail Lib "useOEWAB.dll" Alias
"getWABEMail" (ByVal idx As Long, ByVal strBuffer As String) As Long
Private Declare Function oe_getWABHomepage Lib "useOEWAB.dll"
Alias "getWABHomepage" (ByVal idx As Long, ByVal strBuffer As String)
As Long

Public Function initWAB() As Boolean
'--------------------------------------------------------------------------------
' Initialisierung der DLL, Öffnen des Standard-Adressbuches.
' Gibt true zurück, falls erfolgreich, sonst false.
'
' Anmerkung: Falls eine Initialisierung bereits erfolgreich
stattgefunden hat, so
' gelingt keine weitere Initialisierung bevor nicht mit endWAB das
Standard-
' Adressbuch wieder geschlossen wurde.
'
' Returncodes von "oe_initWAB":
' 0 = Standard-Adressbuch neu geöffnet
' -1 = Standard-Adressbuch ist bereits geöffnet

'--------------------------------------------------------------------------------

Dim intResult As Long

intResult = oe_initWAB()
If intResult = 0 Then
initWAB = True
Else
initWAB = False
End If

End Function

Public Sub endWAB()
'--------------------------------------------------------------------------------
' Schliessen des Standard-Adressbuches, freigeben von Ressourcen

'--------------------------------------------------------------------------------

Call oe_endWAB

End Sub

Public Function getWABDLLInfo() As String
'--------------------------------------------------------------------------------
' About-Information der DLL zurückgeben.
' Gut um zu testen, ob der DLL-Zugriff überhaupt funktioniert,
' da hier keine WAB-Funktionen aufgerufen werden.

'--------------------------------------------------------------------------------

Dim strResult As String
Dim intLaenge As Long

strResult = String$(255, 0)
intLaenge = oe_getWABDLLInfo(strResult)
getWABDLLInfo = Left$(strResult, intLaenge)

End Function

Public Function getWABStdFile() As String
'--------------------------------------------------------------------------------
' Gebe den Dateinamen des geöffneten Standard-Adressbuches zurück.
Dies ist
' eine zusätzliche Angabe, die zum Öffnen des
Standard-Adressbuches nicht
' nötig ist, jedoch evtl. in der Registry an folgender Position
gewonnen
' werden kann:
'
' "HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4 \Wab File Name"
'
' Wird dort keine Angabe gemacht, so kann zwar das
Standard-Adressbuch
' über die API geöffnet werden, aber es ist nicht bekannt, welche
Datei
' dabei geöffnet wird.
'
' Voraussetzung: WAB wurde zuvor erfolgreich initialisiert (siehe
"initWAB")

'--------------------------------------------------------------------------------

Dim strResult As String
Dim intLaenge As Long

strResult = String$(255, 0)
intLaenge = oe_getWABStdFile(strResult)
If intLaenge > 0 Then
getWABStdFile = Left$(strResult, intLaenge)
Else
getWABStdFile = ""
End If

End Function

Public Function getWABCount() As Long
'--------------------------------------------------------------------------------
' Gibt die Anzahl der Einträge im Standard-Adressbuch zurück. Wird
-1 zurück-
' geliefert, so ist momentan kein Adressbuch geöffnet. Man
beachte, daß der
' höchste Index, den man für Zugriffe auf das Standard-Adressbuch
verwenden
' kann die Anzahl der Einträge - 1 ist, da der Index bei 0
beginnt.
'
' Voraussetzung: WAB wurde zuvor erfolgreich initialisiert (siehe
"initWAB")

'--------------------------------------------------------------------------------

Dim intLaenge As Long

intLaenge = oe_getWABCount()
getWABCount = intLaenge

End Function

Public Function getWABName(idx As Long) As String
'--------------------------------------------------------------------------------
' Gebe den Namen des Eintrages mit Index idx zurück.
' Wird der höchste zulässige Index (siehe getWABCount)
überschritten,
' so wird eine leere Zeichenfolge geliefert. Liegt der Index im
erlaubten
' Bereich und wird trotzdem eine leere Zeichenfolge geliefert, so
ist die
' gewünschte Information in dem Eintrag mit dem Index wirklich
nicht vorhanden.
'
' Voraussetzung: WAB wurde zuvor erfolgreich initialisiert (siehe
"initWAB")

'--------------------------------------------------------------------------------

Dim strResult As String
Dim intLaenge As Long

strResult = String$(255, 0)
intLaenge = oe_getWABName(idx, strResult)
If intLaenge > 0 Then
getWABName = Left$(strResult, intLaenge)
Else
getWABName = ""
End If

End Function

Public Function getWABEMail(idx As Long) As String
'--------------------------------------------------------------------------------
' Gebe die E-Mail-Adresse des Eintrages mit Index idx zurück.
' Wird der höchste zulässige Index (siehe getWABCount)
überschritten,
' so wird eine leere Zeichenfolge geliefert. Liegt der Index im
erlaubten
' Bereich und wird trotzdem eine leere Zeichenfolge geliefert, so
ist die
' gewünschte Information in dem Eintrag mit dem Index wirklich
nicht vorhanden.
'
' Voraussetzung: WAB wurde zuvor erfolgreich initialisiert (siehe
"initWAB")

'--------------------------------------------------------------------------------

Dim strResult As String
Dim intLaenge As Long

strResult = String$(255, 0)
intLaenge = oe_getWABEMail(idx, strResult)
If intLaenge > 0 Then
getWABEMail = Left$(strResult, intLaenge)
Else
getWABEMail = ""
End If

End Function

Public Function getWABHomepage(idx As Long) As String
'--------------------------------------------------------------------------------
' Gebe die Homepage-Adresse des Eintrages mit Index idx zurück.
' Wird der höchste zulässige Index (siehe getWABCount)
überschritten,
' so wird eine leere Zeichenfolge geliefert. Liegt der Index im
erlaubten
' Bereich und wird trotzdem eine leere Zeichenfolge geliefert, so
ist die
' gewünschte Information in dem Eintrag mit dem Index wirklich
nicht vorhanden.
'
' Voraussetzung: WAB wurde zuvor erfolgreich initialisiert (siehe
"initWAB")

'--------------------------------------------------------------------------------

Dim strResult As String
Dim intLaenge As Long

strResult = String$(255, 0)
intLaenge = oe_getWABHomepage(idx, strResult)
If intLaenge > 0 Then
getWABHomepage = Left$(strResult, intLaenge)
Else
getWABHomepage = ""
End If

End Function

Apr 8 '06 #8
MLH
rkc - sounds like you've collectied a lot over the years.
Lyle's written some good stuff. No doubt about that.
But I'm trying to extract and modify certain portions of
the OEKontakteDemo.zip database from Michael Spahn's
website, adapting portions of it for my own purpose. It
seems to rely heavily on one main DLL and I can find
no documentation on it. If you have any, I'm interested -
regardless of how old it may be.

Thx.
Apr 8 '06 #9
rkc
MLH wrote:
rkc - sounds like you've collectied a lot over the years.


Nope. Only Lyle's stuff.
Apr 8 '06 #10
MLH
How did you intend MAPI_DIALOG to be defined?
Apr 9 '06 #11
"Lyle Fairfield" <ly***********@aim.com> wrote in
news:11*********************@i39g2000cwa.googlegro ups.com:
As usual, we have to ask you, wtf do you want to do? If you want to
find out Fred Jones WAB address and Fred Jones is in your WAB then this
(first posted may years ago) may do it.

Option Explicit

Type MAPIRecip
Reserved As Long
RecipClass As Long
Name As String
Address As String
EIDSize As Long
EntryID As String
End Type

Declare Function MAPIResolveName _
Lib "c:\program files\outlook express\msoe.dll" _
Alias "BMAPIResolveName" ( _
ByVal Session As Long, _
ByVal UIParam As Long, _
ByVal UserName As String, _
ByVal Flags As Long, _
ByVal Reserved As Long, _
ByVal Recipient As Long) As Long
Private Const MAPI_DIALOG As Long = &H8
Public Function GetEmailAddressThroughOE(ByVal strName As String) As
String
' should bring up resolve name dialog if name not found
Dim r As MAPIRecip
MAPIResolveName 0, 0, strName, MAPI_DIALOG, 0, VarPtr(r)
GetEmailAddressThroughOE = StrConv(r.Address, vbUnicode)
End Function

Public Sub Test()
Debug.Print GetEmailAddressThroughOE("Candace Bergen")
End Sub


--
Lyle Fairfield
Apr 9 '06 #12

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

Similar topics

8
by: Sharif Tanvir Karim | last post by:
Can anyone send me a php.ini file that is used by almost by all hosts? My damn computer's (winxp) mini server is messed up and I am starting over so I am trying ot get php to behave on my system....
0
by: Ed Wurster | last post by:
Posted this incorrectly as a response in an unrelated thread. Sorry! Can someone recommend a script for a Contact List or Address Book? I've looked at many that are available, but would like...
2
by: Ken | last post by:
Hi. I'm an experienced C++ programmer/OO designer who now needs to use Java on my next project. I've never programmed in Java, and I am only vaguely familiar with it (I know what bytecodes and...
42
by: Steven O. | last post by:
I am seeking some kind of tool that I can use for GUI prototyping. I know how to use Visual Basic, but since a lot of software is being coded in Java or C++, I'd like to learn a Java or C++ -based...
0
by: Teo Lachev | last post by:
I would like to introduce you officially to my book "Reporting Services in Action" and let you know about its availability. I wrote this book for information workers, system administrators and...
2
by: MLH | last post by:
I want to read more about the microsoft user interface specification for windows applications. I know there are standards that have been developed and I want to gain a little more expertise in the...
29
by: chellappa | last post by:
hi all I need to write a program to find mac address of a my computer using libaries, is this possible? How? thanks
2
by: =?utf-8?B?6Km55YWJ6ICA?= | last post by:
Hi all! I wonder if there's any Python module that could read from .wab file. I googled but found nothing useful. Any idea? Thanks :) Rio
1
by: MarkW | last post by:
Sometime back I bought a couple books on Dreamweaver and Flash for the CS2 Suite and along with it bought a book for Php, Foundation Php for Dreamweaver 8. I read the Dreamweaver and Flash books...
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: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
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
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
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
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.