¡¡¡¡°ì¹«×Ô¶¯»¯Èí¼þÖг£ÓõÄÊý¾Ý¿âϵͳLotus Notes£¬ÊôÓڷǹØÏµÊý¾Ý¿â¹ÜÀíϵͳ£¬¾ßÓÐÒÔÏÂÌØµã:
¡¡¡¡1. »ùÓÚÎĵµ×é֯ģʽ;
¡¡¡¡2. ʹÓ÷ǽṹ»¯µÄÊý¾ÝÔªËØ;
¡¡¡¡3. ͨ¹ý¶¨Ê±¸´ÖÆË¢ÐÂÊý¾Ý;
¡¡¡¡4. ʹÓÃÊÓͼ¶¨Î»Êý¾Ý;
¡¡¡¡5. ͨ¹ýÈ«ÎļìË÷·ÃÎÊÊý¾Ý¡£
¡¡¡¡ÒòΪADO»òODBCµÄ·½·¨ÊÇÕë¶ÔOracleµÈ¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳµÄ£¬Ö÷ÒªÊÇͨ¹ýSQLÓïÑÔ·ÃÎÊÊý¾Ý£¬Notes¾¡¹ÜÒ²ÌṩÁËNotes ODBC£¬µ«Ëü²¢²»Ö§³ÖÈ«ÎļìË÷£¬Òò´ËÒªÔÚVBÖÐʵÏÖ¶ÔLotus NotesÊý¾Ý¿âµÄ´æÈ¡£¬±ØÐëͨ¹ý±ðµÄ·½·¨¡£
¡¡¡¡ÔÚNotesÖÐʹÓÃCOMºÍOLE
¡¡¡¡OLEÊÇWindowsµÄÒ»¸öÌØÕ÷£¬OLEͨ¹ý°ÑÓ¦ÓóÌÐòµÄ¹¦ÄÜ×÷Ϊ¶ÔÏó±©Â¶¸øÆäËûÓ¦ÓóÌÐò£¬ÕâЩ¶ÔÏóÓµÓÐÊôÐÔ(Êý¾Ý)ºÍ·½·¨(º¯Êý)£¬Ó¦ÓóÌÐòͨ¹ýOLEÖеĶÔÏóÈ¥Ö´ÐÐÏàÓ¦µÄÈÎÎñ¡£Domino¼È¿ÉÒÔ×÷Ϊһ¸öOLEÌṩ¸øÍⲿ³ÌÐòµ÷Óã¬Ò²¿ÉÒÔͨ¹ýOLEÈ¥¿ØÖÆÆäËûOLE¶ÔÏó¡£¾¡¹ÜOLEÒ²ÓÐÐí¶àÓŵ㣬µ«DominoµÄOLE·þÎñ²»Ö§³ÖÔçÆÚ°ó¶¨£¬ÕâÒâζ×ÅÔÚVBµÈÓ¦ÓóÌÐòÖжÔOLE±à³Ì½øÐÐÀàÐͼì²é¡¢¿ìËÙÆô¶¯Ê±£¬Domino OLE½«Ç¿ÆÈÓ¦ÓóÌÐòÆô¶¯NotesµÄ¿Í»§¶Ë£¬´Ó¶ø¶Ôϵͳ²úÉú¾Þ´óѹÁ¦¡£´ËÍ⣬ӦÓóÌÐò²»ÄÜͬʱÆô¶¯¶à¸öNotesSession£¬Ö÷Òª³öÓÚ°²È«½Ç¶È£¬DominoµÄOLE²»ÔÊÐíÓ¦ÓóÌÐòÖ±½ÓÊäÈëÓû§ÃûºÍÃÜÂ룬Òò´ËÕû¸öÓ¦ÓóÌÐòҪôƵ·±µØÆô¶¯ºÍ¹Ø±ÕDomino OLEÀ´´ò¿ªNotesSession£¬ÒªÃ´´óÁ¿Ê¹ÓÃÈ«¾Ö±äÁ¿£¬¶Ô³ÌÐòÉè¼Æ¼«Îª²»Àû¡£
¡¡¡¡ÔÚR5.03ÒÔºó£¬LotusÌṩÁËÒ»¸öºǫ́µÄCOMÀàNotesSession¡£NotesSessionÊÇÒ»¸ö¹¦ÄÜÇ¿´óµÄ¶ÔÏóÄ£ÐÍ£¬ËüÌṩÁËÆäËûNotes¶ÔÏóµÄ½Ó¿Ú£¬¼´Ö»ÓÐͨ¹ýËü²ÅÄÜ·ÃÎÊNotesÖеÄÊý¾Ý¿â¶ÔÏóNotesDatabase¡¢NotesViewµÈ¶ÔÏó¡£
¡¡¡¡ÓÉÓÚCOMÓëOLEµÄ¼æÈÝÐÔ£¬Òò´Ë£¬ÓÃVBµÈ³ÌÐò²Ù×÷Domino¾Í±äµÃÏ൱ÈÝÒ×£¬ÔÚVBÖÐÒýÓõķ½·¨·Ç³£¼òµ¥£¬Ð½¨Ò»¸ö¹¤³Ì£¬Ôڲ˵¥¡°¹¤³Ì¡±ÏÂÑ¡Ôñ¡°ÒýÓá±£¬Ôò»á³öÏÖÏÂÁжԻ°¿ò£º
¡¡¡¡Ð½¨¹¤³Ìʱ¼ÓÈë¶ÔDomino¿âµÄÒýÓÃ
¡¡¡¡Í¬Ê±ÔÚFormÉÏ·ÅÒ»¸öFlexGrid¿Ø¼þ£¬²úÉúÒ»¸öÈçͼ2ËùʾµÄ´°Ìå¡£ ÔÚ´°ÌåʼþLoad ÖмüÈëÏÂÁдúÂ룺
¡¡¡¡´°¿Ú½çÃæ
¡¡¡¡Private Sub Form_Load()
¡¡¡¡Dim Session As New Domino.NotesSession
¡¡¡¡Dim PublicNotesDb As New Domino
¡¡¡¡.NotesDatabase
¡¡¡¡Dim View As NotesView
¡¡¡¡Dim C As NOTESVIEWCOLUMN
¡¡¡¡Dim Mycount As Integer
¡¡¡¡Session.Initialize
¡¡¡¡Set PublicNotesDb = session.GetDatabase(¡°½Ì¿ÆÎÄ´¦/½Ì¿ÆÎÄ¡±, ¡°µµ°¸¹ÜÀí.nsf¡±)
¡¡¡¡If PublicNotesDb Is Nothing Then
¡¡¡¡MsgBox (¡°²»ÄÜ´ò¿ªNotes¿â£¬Çë²é¿´ÏµÍ³ÉèÖÃ!¡±)
¡¡¡¡End If
¡¡¡¡Set View = PublicNotesDb.GetView(¡°Having AutoCode¡±)
¡¡¡¡With grdDataGrid
¡¡¡¡.Clear
¡¡¡¡j = 0
¡¡¡¡.Rows = 2
¡¡¡¡.FixedCols = 1
¡¡¡¡.FixedRows = 1
¡¡¡¡.Col = 1
¡¡¡¡.FixedRows = .Row
¡¡¡¡.Row = 0
¡¡¡¡.Cols = 2
¡¡¡¡j = 1
¡¡¡¡For Each C In View.Columns
¡¡¡¡.AddItem (C.Title)
¡¡¡¡x.Caption = C.Title
¡¡¡¡.Col = j
¡¡¡¡.Cols = .Col + 2
¡¡¡¡.Item(j).Visible = False
¡¡¡¡.Text = C.Title
¡¡¡¡If C.IsHidden = True Then
¡¡¡¡.ColWidth(j) = 0
¡¡¡¡End If
¡¡¡¡j = j + 1
¡¡¡¡Next
¡¡¡¡.Cols = j + 3
¡¡¡¡.Col = j
¡¡¡¡.Text = ¡°´¦ÀíÇé¿ö¡±
¡¡¡¡.Col = j + 1
¡¡¡¡.Text = ¡°´¦ÀíÔÒò¡±
¡¡¡¡.Col = j + 2
¡¡¡¡.Text = ¡°´¦ÀíÔðÈÎÈË¡±
¡¡¡¡.ColWidth(2) = 1800
¡¡¡¡.ColWidth(3) = 1800
¡¡¡¡Dim Doc As Object NOTESDOCUMENT
¡¡¡¡Set Doc = View.GetFirstDocument
¡¡¡¡.Row = 1
¡¡¡¡j = 1
¡¡¡¡Dim Str As String
¡¡¡¡Do Until Doc Is Nothing
¡¡¡¡.Col = 1
¡¡¡¡.Text= Doc.GetItemValue(¡°µÇ¼ÇºÅ¡±)(0)
¡¡¡¡.Col = 2
¡¡¡¡Str = Doc.GetItemValue(¡°×é¾íºÅ¡±)(0)
¡¡¡¡.Text = Str
¡¡¡¡.Col = 3
¡¡¡¡.Text= Doc.GetItemValue(¡°Îļþ×ֺš±)(0)
¡¡¡¡.Col = 4
¡¡¡¡.Text= Doc.GetItemValue(¡°ÎļþÃû¡±)(0)
¡¡¡¡Set Doc=View.GetNextDocument(Doc)
¡¡¡¡If Not Doc Is Nothing Then
¡¡¡¡If j >= .Rows Then
¡¡¡¡.Rows = j + 1
¡¡¡¡End If
¡¡¡¡.Row = j; j = j + 1
¡¡¡¡End If
¡¡¡¡Loop
¡¡¡¡.MergeCells = flexMergeRestrictColumns
¡¡¡¡'MergeCells = 2
¡¡¡¡.MergeCol(0) = True
¡¡¡¡.MergeCol(1) = True
¡¡¡¡.MergeCol(2) = True
¡¡¡¡.MergeCol(3) = True
¡¡¡¡.Redraw = True
¡¡¡¡End With
¡¡¡¡End Sub
¡¡ÉÏÃæµÄ´úÂëÖУ¬µ÷ÓÃinitialize·½·¨²úÉúÒ»¸öNotesSession ¶ÔÏó£¬ËüµÄ·½·¨ÓеãÀàËÆVBAÖе÷ÓÃWordµÄ·½·¨£¬Èç¹û²ÉÓà IsOpen¿ÉÒÔÅжÏÊÇ·ñÒѾ´ò¿ª¶Ô»°¿ò£¬º¯ÊýGetDatabase()´ò¿ªNotesÊý¾Ý¿â£¬ ÆäÖÐÈ¡µÃÒ»¸öÊý¾ÝµÄº¯ÊýÓ÷¨ÓеãÌØ±ð:
¡¡¡¡.Text = Doc.GetItemValue(¡°µÇ¼ÇºÅ¡±)(0)
¡¡¡¡Ê¹ÓÃÁ½¸öÁ¬ÐøµÄÀ¨ºÅËÆºõVisual Basic²»ÔÊÐí£¬ÆäʵDominoÖÐÔÊÐí¶àÖµÓò£¬ËùÒÔº¯ÊýGetItemValue()·µ»ØµÄʵÖÊÉÏÊÇÒ»¸öÊý×飬µÚÒ»¸öÔªËØ´Ó0¿ªÊ¼¡£
¡¡¡¡°´¼üÅÌF5¿ªÊ¼ÔËÐУ¬¾Í¿ÉÒÔ¿´µ½Êä³ö½á¹û¡£
¡¡¡¡VB²Ù×÷Domino COMµÄÓÅȱµã
¡¡¡¡VB²Ù×÷Domino COM¾ßÓÐÒÔÏÂÓŵã:
¡¡¡¡¡ñ VBÓ¦ÓóÌÐò²»ÐèÒªµ÷ÓÃLotus Notes¿Í»§¶Ë¾Í¿ÉÒÔ·ÃÎÊNotesµÄº¯Êý;
¡¡¡¡¡ñ ³ÌÐòÔ±¿ÉÒÔÔÚÉè¼ÆÊ±Ê¹ÓÃÔçÆÚ°ó¶¨£¬ÆäËٶȱÈÍí°ó¶¨¿ì£¬×îÖ÷ÒªµÄÊÇ¿ÉÒÔÀûÓÃVB6µÄÖÇÄÜÓï·¨Ìáʾ¹¦ÄÜ;
¡¡¡¡¡ñ COMµÄÔËÐÐËٶȱÈLotus Script¿ì;
¡¡¡¡¡ñ ¿ÉÒÔ¶ÀÁ¢ÓÚLotus Notes¿Í»§¶Ë½øÐÐÓ¦ÓóÌÐò·Ö·¢¡£
¡¡¡¡Òź¶µÄÊÇDominoµÄCOMÓëVBAµÈÏà±È£¬»¹ÓÐһЩÃ÷ÏÔȱµã:
¡¡¡¡¡ñ ĿǰLotusÖ»Ö§³Öºǫ́µÄDomino¶ÔÏ󣬼´session£¬¶ÔÓÚUIWorkSpace ²¢²»Ö§³Ö(Èç¹ûÖ§³Ö£¬¾ÍÒâζLotus¿Í»§¶Ë¿ÉÒÔ±»Óû§»òµÚÈý·½³ÌÐòÈ¡´ú);
¡¡¡¡¡ñ ÓÉÓÚCOMÖ»±»WindowsËùÖ§³Ö£¬Ä¿Ç°Unix»¹²»ÄÜʹÓñ¾ÎÄËùÂÛÊöµÄ·½·¨;
¡¡¡¡¡ñ ÓÉÓÚ°²È«ÔÒò£¬LoutsĿǰ²»Ö§³ÖDCOM¼¼Êõ;
¡¡¡¡¡ñ Lotus ÌṩµÄCOM²¢²»Ö§³Ö¡°ref¡±ÄÚ´æÖ¸Õ룬±ê×¼COMÌṩÈýÖÖÄÚ´æÖ¸Õ룺¡°ref¡±¡¢¡°unique¡±ºÍ¡°ptr¡±£¬ÆäÖС°ref¡±¿ªÏú×îС¡£
¡¡¡¡½á ÂÛ
¡¡¡¡²ÉÓÃCOM×÷ΪVBÓëDominoµÄÇÅÁº£¬¼È¿ÉÒÔ·¢»ÓDominoµÄÇ¿´óµÄÎĵµ´¦ÀíÄÜÁ¦£¬ÓÖ¿ÉÒÔ·¢»ÓVBÓѺõĿÉÊÓ»¯¹¦ÄÜ¡£ÎÄÖÐÀý×ÓÊDZÊÕßʵ¼Ê¹¤×÷ÖÐʹÓùýµÄ£¬¸ÃÉè¼Æ²ÉÓÃR5.05ºÍVB6¿ª·¢¹¤¾ß£¬ÔÚWin98¡¢NTºÍWin2000Ͼù¹¤×÷Õý³£¡£
| ×ÔÓÉ¹ã¸æÇø |
| ¡¡ |