john_revelator
08-12-2007, 11:39
Salve a tutti. Scusate il titolo un pò criptico.
Forse un'immagine sarà più d'aiuto.
In pratica devo creare un documento word con questo layout:
http://img134.imageshack.us/my.php?image=senzatitolo1ds7.jpg
Il problema è che non ho la più pallida idea di come fare.
Il codice che ho scritto finora è questo
Private Sub cmdCrea_Click()
Set objword = CreateObject("Word.Application")
objword.Visible = True
Set objdoc = objword.Documents.Add
Set objRange = objdoc.Range()
objdoc.Tables.Add objRange, 1, 2
Set objtable = objdoc.Tables(1)
strQueryName = "qrylingue"
Set objRST = Application.CurrentDb.OpenRecordset(strQueryName)
objtable.Cell(1, 1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight
objtable.Columns(1).PreferredWidth = 150
objtable.Columns(2).PreferredWidth = 350
objtable.Cell(1, 1).Range.Text = "Altra(e) lingua(e)"
objtable.Cell(1, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(1, 1).Range.Font.Size = 11
objtable.Cell(1, 1).Range.Font.Bold = False
objtable.Rows.Add
objtable.Cell(2, 1).Range.Text = "Autovalutazione"
objtable.Cell(2, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(2, 1).Range.Font.Size = 11
objtable.Cell(2, 1).Range.Font.Bold = False
' qua ci vanno le voci comprensione, parlato, scritto
objtable.Rows.Add
objtable.Cell(3, 1).Range.Text = "Livello europeo (*)"
objtable.Cell(3, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(3, 1).Range.Font.Size = 11
objtable.Cell(3, 1).Range.Font.Bold = False
' qui ci vanno le voci ascolto, lettura (incolonnate sotto comprensione),
' interazione orale (sotto parlato) e produzione orale
i = 3
Do While Not objRST.EOF
For k = 0 To objRST.Fields.Count - 1
lingua = objRST.Fields("lingua")
ascolto = objRST.Fields("cvep_ascolto")
lettura = objRST.Fields("cvep_lettura")
interazione = objRST.Fields("cvep_interazione")
porale = objRST.Fields("cvep_produz_orale")
pscritta = objRST.Fields("cvep_produz_scritta")
Next k
objtable.Rows.Add
objtable.Cell(i + 1, 1).Range.Text = lingua
objtable.Cell(i + 1, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(i + 1, 1).Range.Font.Size = 10
objtable.Cell(i + 1, 1).Range.Font.Bold = False
' qua andranno i valori del recordset
i = i + 1
objRST.MoveNext
Loop
End Sub
Spero che qualcuno mi possa aiutare. E' l'ultima cosa che mi manca per il mio lavoro. :)
Forse un'immagine sarà più d'aiuto.
In pratica devo creare un documento word con questo layout:
http://img134.imageshack.us/my.php?image=senzatitolo1ds7.jpg
Il problema è che non ho la più pallida idea di come fare.
Il codice che ho scritto finora è questo
Private Sub cmdCrea_Click()
Set objword = CreateObject("Word.Application")
objword.Visible = True
Set objdoc = objword.Documents.Add
Set objRange = objdoc.Range()
objdoc.Tables.Add objRange, 1, 2
Set objtable = objdoc.Tables(1)
strQueryName = "qrylingue"
Set objRST = Application.CurrentDb.OpenRecordset(strQueryName)
objtable.Cell(1, 1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight
objtable.Columns(1).PreferredWidth = 150
objtable.Columns(2).PreferredWidth = 350
objtable.Cell(1, 1).Range.Text = "Altra(e) lingua(e)"
objtable.Cell(1, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(1, 1).Range.Font.Size = 11
objtable.Cell(1, 1).Range.Font.Bold = False
objtable.Rows.Add
objtable.Cell(2, 1).Range.Text = "Autovalutazione"
objtable.Cell(2, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(2, 1).Range.Font.Size = 11
objtable.Cell(2, 1).Range.Font.Bold = False
' qua ci vanno le voci comprensione, parlato, scritto
objtable.Rows.Add
objtable.Cell(3, 1).Range.Text = "Livello europeo (*)"
objtable.Cell(3, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(3, 1).Range.Font.Size = 11
objtable.Cell(3, 1).Range.Font.Bold = False
' qui ci vanno le voci ascolto, lettura (incolonnate sotto comprensione),
' interazione orale (sotto parlato) e produzione orale
i = 3
Do While Not objRST.EOF
For k = 0 To objRST.Fields.Count - 1
lingua = objRST.Fields("lingua")
ascolto = objRST.Fields("cvep_ascolto")
lettura = objRST.Fields("cvep_lettura")
interazione = objRST.Fields("cvep_interazione")
porale = objRST.Fields("cvep_produz_orale")
pscritta = objRST.Fields("cvep_produz_scritta")
Next k
objtable.Rows.Add
objtable.Cell(i + 1, 1).Range.Text = lingua
objtable.Cell(i + 1, 1).Range.Font.Name = "Arial Narrow"
objtable.Cell(i + 1, 1).Range.Font.Size = 10
objtable.Cell(i + 1, 1).Range.Font.Bold = False
' qua andranno i valori del recordset
i = i + 1
objRST.MoveNext
Loop
End Sub
Spero che qualcuno mi possa aiutare. E' l'ultima cosa che mi manca per il mio lavoro. :)