Archive for Show-N-Tell Thursday

SnTT: The ins and outs of ILDDM Binder and Document Security

October 26 2006

I have not done a SnTT post in a while, but I figured this one was something people could use. For the past couple of months, I have been waging a war against IBM Lotus Domino Document Manager ... otherwise known and Domino.Doc. I am working on a client project that is built around the New Product submission idea, but using ILDDM as the way to store the documents. We have lots of documents in the system, from Office to editable PDFs to artwork designed on the Mac to Autocad drawings. Our system allows for the attachments to be put thru workflow (for comments, editing, and approval), but we store everything in ILDDM. Because of the lack of robust workflow in ILDDM, we are using our own enTouch.workflow product. What that means is that we have a document stub that goes thru our workflow, which links to the ILDDM document. Because of the nature of this process, security is very tight. Add in the difficulty of no ILDDM API on the Mac (today) and the lack of any good way to set security o

Show-N-Tell Thursday - Writing code for multiple versions of an Office application

March 2 2006

This week is back to a technical tip (for Ed's sake, I will try to alternate between technical and case study each week). This is a very simple one that showcases how you can write code that supports multiple versions of a Microsoft Office application. Many times, code you write for Word 2003 will not work in Word XP or 2000. To deal with this, a simple Select Case statement in LotusScript will allow you to create branches in your code. The code: dim hwd Set hwd = CreateObject("Word.Application") Select Case hwd.version Case "8.0" 'This is a Microsoft Office97 application Case "9.0" 'This is a Microsoft Office2000 application Case "10.0" 'This is a Microsoft OfficeXP/2002 application Case "11.0" 'This is a Microsoft Office2003 application Case "12.0" 'This is a Microsoft Office12 application End Select That is just an example of the Select Case statement. I use this in my mail merge code when I need to deal with the

Show-N-Tell Thursday - Revolutionizing Business Process with Notes & Domino Technology

February 23 2006

So Ed was talking smack about how too much of the Show-N-Tell stuff last week was technical. So I decided to take him up on his challenge and talk about a client that lives and breathes Notes. College Bowl Company, Inc. produces and manages the content used by various programs dubbed "The Varsity Sport of the Mind." Think Jeopardy for high school and college students. College Bowl was started in 1953, and since then, they have branched out to multiple brands. The staff at College Bowl is responsible for creating, editing and organizing all the content and the tournaments. College Bowl runs very lean - under 10 full time employees. They rely on volunteers to help run the tournaments and review the content. The journey to move the content process from a typewriter, copy machine, and FedEx envelopes to a electronic content system has taken YEARS. We started out with an Ami Pro stylesheet to just create the content. So we replaced the typewriter there. A first at

Show-N-Tell Thursday - Closing a Document in an Office Application Programmatically

February 16 2006

For many years, I have been showing a very simple technique to close an Office document opened programmatically. For example: Set hwd = CreateObject("Word.Application")Call hwd.documents.open (documentpathandfilename) 'do something to the word document here hwd.ActiveDocument.SaveAs (windowstemppath + attachmentfilename + extension)hwd.ActiveDocument.Close hwd.Quit For some reason, Office 2003 Applications do not like this. I have seen errors and crashing using just the ActiveDocument.Close. Here is a way to prevent any issues: Set hwd = CreateObject("Word.Application")Call hwd.documents.open (documentpathandfilename) 'do something to the word document here hwd.ActiveDocument.SaveAs (windowstemppath + attachmentfilename + extension)Call hwd.documents(documentfilename).close(0,1) hwd.Quit A very simple change to one line of the code. Instead of relying on the ActiveDocument property, we are closing the document directly. Hope this helps some of you out there