PDA

Vollständige Version anzeigen : MSflexgrid drucken


tneuber
26.10.2003, 23:56
Hallo

Ich habe eine Flexgrid dazu benutzt um eine Art Belegungsplan zuerstellen.
Das funktioniert im Formular auch super.
Nur ich schaffe es nicht das ganze zu drucken.

Ich habe probiert das gleiche Grid in einem Bericht aufzubauen, aber aus irgendeinem Grund istdie Drucjqualität extrem gerastert, und somit nicht brauchbar. Die inhalte würden aber stimmen.

Wie kann man das Teil sauber drucken??

Gruss Tom

Nouba
27.10.2003, 12:09
Hallo,

ich weiß nicht, wie die Daten in's Grid kommen?

Als Alternative könntest Du mit dieser kleinen Funktion Teile oder das gesamte Grid nach Excel transferieren.
Public Sub FGridNachExcel( _
UnserGrid As MSFlexGrid _
, Reihen As Integer _
, Spalten As Integer _
, Optional Stil As Integer = 1 _
, Optional Blattname As String)

Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet

Dim intZeile As Integer
Dim intSpalte As Integer

If Not IsObject(objXL) Then
MsgBox "Zum Ausführen dieser Funktion ist MS-Excel erforderlich.", _
vbExclamation, "FlexGrid --->>> Excel"
Exit Sub
End If

' für unmögliche Zeilen/Spaltenangaben
On Error Resume Next

' Excel öffnen
objXL.Visible = True
Set wbXL = objXL.Workbooks.Add
Set wsXL = objXL.ActiveSheet

' Arbeitsblatt benennen
With wsXL
If Not Blattname = vbNullString Then
.Name = Blattname
End If
End With

' Arbeitsblatt füllen
For intZeile = 1 To Reihen
For intSpalte = 1 To Spalten
With UnserGrid
wsXL.Cells(intZeile, intSpalte).Value = _
.TextMatrix(intZeile - 1, intSpalte - 1) & " "
End With
Next
Next

' etwas ausschmücken
For intSpalte = 1 To Spalten
wsXL.Columns(intSpalte).AutoFit
wsXL.Range("A1", Right(wsXL.Columns(Spalten).AddressLocal, 1) & Reihen).AutoFormat Stil
Next
End Sub

tneuber
27.10.2003, 17:47
besten Dank für deine Antwort.

Ich bekomme aber immer den Fehler:

Benutzerdefinierter Typ nicht definiert.


Ich habe mal ein Bild von meinem Grid angehängt. Ist relativ bunt, und so sollte es auch gedruckt werden, da das Grid selber keine Daten sondern nur Farben enthält.

Gruss Tom

Nouba
27.10.2003, 17:51
Hallo,

da ich nicht hellsehen kann, solltest Du mal die fehlerhafte Stelle zeigen.

Liegen Deine Daten in Tabellen- oder Abfrageform vor, könnte man auch einen normalen Bericht verwenden.

tneuber
27.10.2003, 18:04
Sorry, den Fehler bringt er gleich in der ersten Zeile.

Public Sub FGridNachExcel( _
UnserGrid As MSFlexGrid _
, Reihen As Integer _
, Spalten As Integer _
, Optional Stil As Integer = 1 _
, Optional Blattname As String)


Die Mitarbeiter kommen aus einer Tabelle, bei den farbigen Feldern wird ausgewertet ob an diesem Tag ein Datensatz zu diesem Mitarbeiter besteht un dann wird die zelle Farbig markiert.


Abfragen werden keine benutzt.
ich habe schon probiert das gleiche Grid in einem Bericht darzustellen. Ist auch kein Problem. In der Vorschau stimmt zwar die grösse nicht, sonst sieht es aber gut aus.
Nur gedruckt wird es nicht gut.

Auf welche Art das Grid gedruckt wird ist mir eigentlich egal, nur sollte es halt ungefähr gleich aussehen.

Gruss Tom

Nouba
27.10.2003, 18:31
ist denn in den Verweisen ein Eintrag aif das MSFlexgrid vorhanden?

Wenn die Daten in Tabellenform vorliegen, kannst Du doch einen ganz normalen Bericht erstellen und im Format-Ereignis die Feldchen einfärben. Ein Beispiel findest Du unter abwesenheit97.zip (http://www.ms-office-forum.net/forum/attachment.php?s=&postid=429668)

tneuber
27.10.2003, 23:05
Wau, genau was ich gesucht habe.

Besten Dank.
Dieses Beispiel hätte mir schon beim erstellen des Grids geholfen.

Sieht aber extrem kompliziert aus. Ich weiss nicht ob ich es schaffe so einen Bericht für mein Gris zusammenzubauen.


Den Verweis habe ich nicht gefunden.
Aber das Grid selber funktioniert einwandfei.
Wie heisst den der verweis genau?

gruss Tom

Nouba
28.10.2003, 00:21
Bei mir steht dort Microsoft FlexGrid Control 6.0