DAMO(Domino Access for Microsoft Outlook) 프로그램을 사용하여,

Outlook에서도 마치 Exchange 쓰듯 Lotus Domino 서버를 활용할 수 있다.

 

 

보통 XP의 Outlook 2003에서는 상당히 제정신으로 도는데,

MS에서도 밥벌어먹고 살려면 업그레이드를 해야 되겠고,

결국 덩달아 업그레이드를 하다 보니, 현재 구성은 Windows 7에 Outlook 2007이 되버렸다.

그러나 최적의 환경을 구성하기에는 너무 구닥다리 같은 UI와 기능들에

결국 꿋꿋하게 Windows 7의 Outlook 2007을 활용하려고 한다.

 

그러나 현재 Outlook 2007을 종료하면 자꾸 프로그램 오류가 발생한다.

에러 내용은 아래와 같다.

 

Faulting application name: OUTLOOK.EXE, version: 12.0.4518.1014, time stamp: 0x4542840f
Faulting module name: nwnspR32.dll_unloaded, version: 0.0.0.0, time stamp: 0x489c864f
Exception code: 0xc0000005
Fault offset: 0x01e82e74
Faulting process id: 0xcf4
Faulting application start time: 0x01ca9e6097aafc8d
Faulting application path: C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE
Faulting module path: nwnspR32.dll
Report Id: f39a9d85-0a53-11df-b241-001f3b661b0f

 

일단 현재까지 파악한 내용은 Windows 7(Vista 때 부터 담겼던) Windows Search가 Outlook 자원까지 찝적거린결과 였었다. 최소한 Windows Search가 찝적되면 Outlook이 제대로 작동하지 않는다.

 

이 것을 해결하는 방법은 아래의 레지스트리를 수정하면 된다.( 대개는 없으므로 추가해야 한다. )

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search]
"PreventIndexingOutlook"=dword:00000001

 

그리고 난 뒤, Windows Search 서비스를 재 시작하거나, 아니면 컴퓨터를 리부팅 한다.

 

UPDATE: 2010-01-06 18:41

SP1을 적용했으나, 변화 없음 똑 같은 형태로 에러가 발생한다.

현재 설치된 버전의 About 내용은 아래와 같다.

   Outlook 2007

  DAMO 8.0.2

 

일단 현재 상황은 아직도 오류는 발생 오류 내용은 아래와 같다.

Faulting application name: OUTLOOK.EXE, version: 12.0.6316.5000, time stamp: 0x4833a470
Faulting module name: nwnspR32.dll_unloaded, version: 0.0.0.0, time stamp: 0x489c864f
Exception code: 0xc0000005
Fault offset: 0x02222e74
Faulting process id: 0x5d4
Faulting application start time: 0x01ca9e6b2826f17f
Faulting application path: C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE
Faulting module path: nwnspR32.dll
Report Id: c4be8a8d-0a5e-11df-9165-005056c00008

 

짐작이지만, Outlook 종료 때, 이 DAMO의 핵심 DLL인 nwnspR32.dll 이 지연되서 발생되는 문제같다. 아무래도 Notes와의 연결을 정리해야 하는데, 그 시간이 의외 많이 걸리는듯...

Outlook이 조금 천천히 종료되거나, 이 DAMO가 빨리 종료되면 문제가 없을 것 같은데...

역 어셈블해서 까야 되나... 일단 SP2를 한번 받아서 설치해보고 그 뒤를 보도록 하겠다.

728x90
아침에 사장님이 커피를 타면서 문득 던진 말씀이다.
흠. 뭐랄까?
옆옆집 사람이 빌딩을 샀는데, 애들 오락실을 성인용 게임방으로 바꿨다더라. 정도로 들리는 건 나만일까?
지금의 Outlook 개인적으로 볼 떄, 이미 Notes 클라이언트가 따라가기에는 이미 많이 늦고 늦어 버린 느낌이다.
과거의 영광속에서 허우적 대는 바보꼬라지 같은 모습이라,
지금의 Notes 클라이언트는, Outlook 뒤를 힘겹게 쫒아 다니고 있는 느낌이다.

시대도 변하고 환경도 변하고 요구사항도 변한다.

예전 영광속에서 파묻히면 별수 있나, 로마꼴이지.
조금이라도 더 나은 모습으로 더 발전된 모습으로 보이려고 노력하는 MS의 투쟁이 더 정겨워
보인다. (아마도 HARD CODE라는 책 때문인지도 모르겠지만.)

728x90

Outlook 데이터 중, 메일 다음으로 중요한 데이터가 바로 연락처가 아닐까 생각한다.
물론 메일관련된 업무 진행의 경험이 전무하거나, Outlook을 잘 사용해본적이 없다면 – 특히 웹메일만 지금까지 써보신 분들 – 의미 없겠지만, 만일 지금 Outlook을 사용하고 있다면, 약간이나마 공감이 갈지도…

이번에 마련한 SPH-M480 스마트 폰이 있는데, 여기의 연락처가 Outlook의 데이터와 동기화 된다.
다 좋은데, 전화번호 내에 “-“ 나 “(“, “)” 같은 특수 문자가 있으면 오류가 발생한다.
그렇다고 수많은 연락처의 내용을 일일히 열어서 수정하기는 무리가 있고…

그래서 생각한 방법이 Outlook의 매크로라는 방법을 쓰기로 했다.

지금 테스트해본 곳은 Outlook 2003 으로, Outlook 2003의 메뉴에서  도구 –> 매크로 –> Visual Base Editor 로 들어가서 실행했다.
위의 경로 대로 정상적으로 실행하면 아래 화면과 같은 화면이 뜰 것이다.
saveattachmentsvbeditor_small

저 도구 안의 넓은 코드 넣는 창안에 아래의 코드를 넣는다.

Sub ChangePhoneRule() 
	Dim myolApp As Outlook.Application 
	Dim myNamespace As Outlook.NameSpace 
	Dim contactFolder  As Outlook.MAPIFolder 
	Dim expContacts As Outlook.Explorer
	Dim allItems As Outlook.Items 
	Dim curItem As Object 
	Dim curContact As Outlook.contactItem 
	Dim curPhoneNum As String 
	Set myolApp = CreateObject("Outlook.Application") 
	Set myNamespace = myolApp.GetNamespace("MAPI") 
	Set contactFolder = myNamespace.GetDefaultFolder(olFolderContacts) 
	Set allItems = contactFolder.Items 
	For Each curItem In allItems 
		If (curItem.Class = olContact) Then 
			Set curContact = curItem 
			curPhoneNum = curContact.MobileTelephoneNumber 
			curPhoneNum = Replace(curPhoneNum, "+82", "") 
			curPhoneNum = Replace(curPhoneNum, "(02)", "") 
			curPhoneNum = Replace(curPhoneNum, " ", "") 
			curPhoneNum = Trim(curPhoneNum) 
			curContact.MobileTelephoneNumber = curPhoneNum 
			curContact.Save 
		End If 
	Next 
End Sub

저 안의 내용 중 보면 curContact.MobileTelephoneNumber 라는 줄을 볼 수 있다. 즉 저기서 핸드폰 번호를 가져오고 있다. 그리고 VB 함수 중 문자열 변경하는 Replace 함수를 이용해 변경한 뒤, 다시 해당 속성 값에 값을 넣고 맨 나중에 Save를 불러 주면 된다.

위의 로직은 바로 연락처 폴더 내에 있는 모든 연락처의 내용을 수정하는 작업이다.

각 Property들은 다음 사이트에서 참고하면 된다.
http://msdn.microsoft.com/en-us/library/aa210907(office.11).aspx

728x90

+ Recent posts

728x90