' AddToProgMan, for Word for Windows v1.1 ' ' Robert M. Ryan, 28 January 1992, v1.4 ' ' This is a Word for Windows macro which allows you to add the current document to the ' specified Program Manager Group. ' ' To install this macro, do the following: ' ' 1. open this document in Word for Windows. ' 2. select (i.e. highlight) the entire document and select Edit, Copy (Ctrl-Ins) ' 3. Select "Edit..." from the "Macro" menu ' 4. Type in a macro name (e.g. "AddToProgMan") ' 5. Push the "Ok" button ' 6. Paste the macro in the buffer. ' 7. Close the window, saving changes. ' 8. If you want, assign it to a key ' 9. When you exit, make sure to save changes to the global glossary ' Sub MAIN Begin Dialog UserDialog 410, 170 Text 10, 6, 231, 13, "Add Item to Program Manager:" Text 47, 25, 73, 13, "Filename:" Text 47, 45, 40, 13, "Title:" Text 47, 66, 52, 13, "Group:" Text 47, 88, 40, 13, "Icon:" CheckBox 135, 112, 139, 16, "Save Changes", .Save OKButton 105, 135, 88, 21 CancelButton 211, 135, 88, 21 TextBox 135, 22, 262, 18, .FName$ TextBox 135, 43, 262, 18, .Title$ TextBox 135, 64, 262, 18, .Group$ TextBox 135, 85, 263, 18, .Icon$ End Dialog n$ = LCase$(FileName$(0)) m$ = n$ q$ = Chr$(34) ' remove path from filename For i = 1 To Len(n$) If Mid$(n$, i, 1) = "\" Then m$ = Right$(n$, Len(n$) - i) Next i ' remove extension from filename i = InStr(m$, ".") If i > 0 Then m$ = Left$(m$, i - 1) Dim dlg As UserDialog dlg.Group$ = GetProfileString$("Add To Group") If dlg.Group$ = "" Then dlg.Group$ = "Documents" dlg.Icon$ = GetProfileString$("Add Using Icon") If dlg.Icon$ = "" Then dlg.Icon$ = "\win\icons\doc.ico" dlg.FName$ = LCase$(FileName$(0)) dlg.Title$ = m$ On Error Goto NoDialog Dialog dlg On Error Goto 0 ChanNum = DDEInitiate("PROGMAN", "PROGMAN") If ChanNum = 0 Then MsgBox "Unable to initiate DDE conversation with ProgMan", "Error" return Else window$ = WindowName$() AppActivate "Program Manager", 1 DDEExecute ChanNum, "[CreateGroup(" + dlg.Group$ + ",6)]" ' create if necessary DDEExecute ChanNum, "[ShowGroup(" + dlg.Group$ + ",6)]" ' minimize DDEExecute ChanNum, "[ShowGroup(" + dlg.Group$ + ",1)]" ' restore cmd$ = "[AddItem(" + dlg.FName$ + "," + q$ + dlg.Title$ + q$ + "," + dlg.Icon$ + ")]" DDEExecute ChanNum, cmd$ ' add file to group DDEExecute ChanNum, "[ShowGroup(" + dlg.Group$ + ",6)]" ' minimize DDETerminate ChanNum ' terminate discussion Activate window$ End If If dlg.Save Then SetProfileString "Add To Group", dlg.Group$ SetProfileString "Add Using Icon", dlg.Icon$ End If NoDialog: End Sub