Eftersom det verkar vara svårt (omöjligt) att formatera utskrifter i HTML och ASP, så tänkte jag att det kanske finns något sätt att generera ett word-dokument, utifrån en HTML-sida eller ASP-kod? Klurigt. Jag tror inte att det är busenkelt att skapa en Word-fil "från scratch". Ingen asp-guru sa du? Det verkar ju vara lösningen. Problemet är att jag inte vet hur "man som vanligt fyller det med innehåll i VBA". Någon guide någonstans? Tjena! Det här verkar vara genomtänkt. Men det är VB-kod, direkt ur VB. Jag antar att man ska köra den på något speciellt sätt (du nämner com+komponenter), du har ingen guide på hur man hanterar sådana? Jag har aldrig använt sådana innan. Den översta kodsnutten kompileras i vb6 till en dll som man sedan registrerars i Component Services. Hittade en artikel på msdn som beskriver hur det kan gå till: Okej, verkar vara en bra artikel. Jag ska gå igenom den ikväll. Men om jag nu har en HTML-sida som jag vill skicka in i det här worddokumentet, hur gör jag det med hjälp din COM+ komponent?Skriva ut rapporter i Word-dokument?
Sv: Skriva ut rapporter i Word-dokument?
IDÉ: Skapa ett objekt av typen "Word.Application", t.ex. med CreateObject(). Jag är inte någon .asp-guru, men det borde gå att göra på antingen server eller klientsidan i ett script. Förutsatt att Word är installerat förstås.
När det gäller att fylla dokumentet med innehåll så fungerar det som vanligt i VBA för Word/Excel m.m.
skiss (ej testat):
dim a ' Word.Application
dim d ' Word.Document
set a = createobject("Word.Application")
set d = a.Documents.Add
d.range.insertbefore("Detta är text i ett dokument")
/MickeSv: Skriva ut rapporter i Word-dokument?
Jag har en redan färdiggenererad HTML-sida, går det att fixa in den i ett Worddokument som skapas på användarens skrivbord?Sv: Skriva ut rapporter i Word-dokument?
Jag skrev en liten com+ komponent en gång som skapar worddokument, den är extremt simpel men det går at bygga vidare på den. Den tar tre parametrar. Filnamn, sökväg och den text som dokumentet ska innehålla. Komponenten registreras i component services, och glöm inte se till att den exekverar under en användare som har rättigheter att skapa filer. Sen är det bara att anropa komponenten från asp (se nedan).
<code>
Option Explicit
Implements ObjectControl
Private mObjCTX As ObjectContext
Private bolInMTS As Boolean
'Private strWordVersion As String
Private Sub Class_Initialize()
End Sub
Public Function CreateDocument(ByVal strPath As String, ByVal strFileName As String, ByVal strText As String) As String
On Error GoTo errHandler
Dim objWd As New Word.Application
Dim objDoc As New Word.Document
Dim strFullPath
strFullPath = strPath & strFileName
Set objDoc = objWd.Documents.Add
With objDoc
.Range.InsertBefore (strText)
.SaveAs strFullPath
.Close
End With
Set objDoc = Nothing
Set objWd = Nothing
CreateDocument = ""
Exit Function
errHandler:
If Not objDoc Is Nothing Then
Set objDoc = Nothing
End If
If Not objWd Is Nothing Then
Set objWd = Nothing
End If
CreateDocument = Err.Number & " " & Err.Description
End Function
Private Sub ObjectControl_Activate()
Set mObjCTX = GetObjectContext()
bolInMTS = Not (mObjCTX Is Nothing)
End Sub
Private Function ObjectControl_CanBePooled() As Boolean
End Function
Private Sub ObjectControl_Deactivate()
End Sub
</code>
<code>
dim objDoc
dim strVal
set objDoc = server.createobject("DocCreator.Doc")
strVal = objDoc.CreateDocument("C:\Inetpub\wwwroot\nissehult\","DocCreator.doc", "en liten text")
if strVal = "" then
%>
View created document
<%
else
response.write strVal
end if
set objDoc = nothing
</code>
GL HFSv: Skriva ut rapporter i Word-dokument?
Sv: Skriva ut rapporter i Word-dokument?
msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/iis/creatingavisualbasiccomobject.aspSv: Skriva ut rapporter i Word-dokument?
Tack för all hjälp hittils!