The below code works very well to export a web view to a .doc file. When exporting it takes the following format:
Colum1 column2 colume3
datadoc1 datadoc1 datadoc1
datadoc2 datadoc2 datadoc2
datadoc3 datadoc3 datadoc3
The export is being formatted as an html table.
I've tried this many times, removing the table reference, setting borders to 0, viewing the source and keep encounter problems launching MS WORD and receive an unknown format error (w/word). Like I said, it works perfectly to export a web view into a table in WORD, just dont want it exported into a table. Information from this view is being used in a monthly report, which is bulleted and a very large reoirt.
Perhaps another set of eyes might be able to see what I am missing. Any help would be appreciated, I want to revise this code to the following format, removing the table and leaving it as just plain text.
Format needed:
datadoc1
datadoc1
datadoc1
datadoc2
datadoc2
datadoc2
datadoc3
datadoc3
datadoc3
The Script:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim v As NotesView
Dim docX As NotesDocument
Dim col As Integer
Dim lineitem As String
Dim View As String
Dim Query_String As String
Dim Doc As NotesDocument
Dim Docs As NotesDocumentCollection
Dim ViewName As String
Dim Key As String
Dim Index1 As Integer
Dim Index2 As Integer
Set db = session.CurrentDatabase
Set Doc = session.DocumentContext
Query_String = Doc.Query_String(0)
Index1= Instr(Query_String, "View=")
If Index1 > 0 Then
Index1 = Index1 + Len("View=")
Index2 = Instr(Index1 + 1, Query_String, "&")
If Index2 > 0 Then
ViewName = Mid(Query_String, Index1, (Index2 - Index1))
Else
ViewName = Mid(Query_String, Index1, Len(Query_String) - Index1 + 1)
End If
End If
Print |Content-Type:application/vnd.ms-word|
Print |Content-Disposition:Attachment; filename="Report.doc"|
Set v = db.GetView(ViewName)
If Key <> "" And Key <> "*" Then
Set Docs = v.GetAllDocumentsByKey(Key, True)
End If
col=1
Print |<Table border>|
lineitem=""
Forall vColumn In v.Columns
If col=1 Then
lineitem=vColumn.Title
Else
lineitem=lineitem+vColumn.Title
End If
col=col+1
End Forall
lineitem=lineitem
Print lineitem
If True Then
Set docX=v.GetFirstDocument
lineitem=""
While Not docX Is Nothing
col=1
Forall cValue In docX.ColumnValues
If col=1 Then
lineitem=|<tr>|
End If
If cValue="" Then
lineitem=lineitem+|<td> </td>|
Else
lineitem=lineitem+|<td>|+cValue+|</td>|
End If
col=col+1
End Forall
Print lineitem+|</tr>|
Set docX=v.GetNextDocument(docX)
Wend
Print |</table>|
Else
Set docX=Docs.GetFirstDocument
lineitem=""
While Not docX Is Nothing
col=1
Forall cValue In docX.ColumnValues
If col=1 Then
lineitem=|<tr>|
End If
If cValue="" Then
lineitem=lineitem+|<td> </td>|
Else
lineitem=lineitem+|<td>|+cValue+|</td>|
End If
col=col+1
End Forall
Print lineitem+|</tr>|
Set docX=Docs.GetNextDocument(docX)
Wend
Print |</table>|
End If
Exit Sub
End Sub
转载于:https://www.cnblogs.com/hannover/archive/2012/04/17/2453397.html