Hi Leute,
ich hab für unsere Arbeitsgruppe auf der Uni ein Makro in Excel geschrieben, dass automatisch aus Rohdaten (Textfiles) charakteristische Parameter berechnet und diese im Stile einer Datenbank in der Excel-Mappe ablegt. Weiters werden aus diesen Rohdaten Diagramme in Excel erstellt und dann in ein Wordfile kopiert (nur als Bild, da ansonsten das File riesengroß [100MB] wird). Soweit, so gut.
Diese Arbeitsmappe dient als zentrale Datenbank für unsere Arbeit und ich hab das schon vor ca. 3 Jahren programmiert und natürlich immer wieder erweitert. Es liegt auf einem Server und somit können insgesamt ca. 20 Personen von ihren Rechnern auf dieses File zugreifen. Die Krux an der Sache ist die, dass, wie das auf der Uni eben so ist, alle Rechner mit unterschiedlichen Windows und Office Versionen ausgestattet sind. Ich habe das aber eigentlich bestens hinbekommen, nur jetzt plötzlich hab ich folgendes Problem:
Beim einfügen des Diagrammes gibt mir auf einem Rechner das Programm eine Fehlermeldung aus ("") Die Zeile bei der der Code (ist beigefügt) stecken bleibt ist folgende " .Selection.Paste". Ich habe früher den Befehl folgendermaßen ausgeführt: ".Selection.PasteAndFormat (wdChartPicture)". Ich hab den Teil jetzt aber weggelassen, weil ich draufgekommen bin, dass ich ihn nicht brauche. Jedenfalls funktionieren beide Befehle bei meinem Kollegen nicht.
Das komische an der Sache ist, dass ich zwischen seinem System und meinen eigentlich keinen Unterschied ausmachen kann. Windows 7 enterprise, 64-Bit, Office 2010,..... Das zweite komische ist, dass ich mit diesem Befehl sicher seit zwei Jahren kein Problem hatte, bei niemanden und jetzt eigentlich wo ganz anders herumprogrammiert habe. Das dritte ist, dass sich dieser Code innerhalb einer Schleife befindet und 20mal ausgeführt wird. Die Fehlermeldung bekomme ich aber nur ca. 2-4mal pro Codeausführung und das rohdatenunabhängig. Und geh auf debuggen und starte die Codeausführung an dieser Stelle wieder ohne was zu ändern, dann läuft er weiter bis er sich wieder an dieser Stelle stößt. Ich klick wieder debuggen-->F5 und er läuft wieder weiter, usw. bis er fertig ist und hat dann auch alles richtig gemacht.
Blos in einem durchlaufen tut er nicht!!!!!
Kann mir wer helfen???
LG, Chris
Sub Copy2Word()
Application.ScreenUpdating = False
Call CheckPath(s_Path)
'If n_CellsCounter = 1 And n_Zellenposition = 1 Then
If b_WordDone = False Then
b_WordDone = True
Set app_word = CreateObject("word.application").Documents.Add(Worksheets("Parameter").Range("PAR_Template").Text).Application
With app_word
'Eingabedaten in das Production Sheet übernehmen
.ActiveDocument.CustomDocumentProperties("D") = frm_Insert.txt_D.Text
.ActiveDocument.CustomDocumentProperties("N") = frm_Insert.cbo_N.Text
.ActiveDocument.CustomDocumentProperties("P") = frm_Insert.cbo_O.Text
.ActiveDocument.CustomDocumentProperties("A") = frm_Insert.cbo_A.Text
.ActiveDocument.CustomDocumentProperties("S") = s_FileName
.ActiveDocument.CustomDocumentProperties("T") = frm_Insert.cbo_T.Text
.ActiveDocument.CustomDocumentProperties("Date") = Date
.ActiveDocument.CustomDocumentProperties("E") = frm_Insert.cbo_E.Text
.ActiveDocument.CustomDocumentProperties("Z") = frm_Insert.cbo_Z.Text
.ActiveDocument.CustomDocumentProperties("Te") = frm_Insert.txt_Te.Text
.ActiveDocument.CustomDocumentProperties("In") = frm_Insert.cbo_In.Text
.ActiveDocument.CustomDocumentProperties("Ku") = frm_Insert.cbo_Ku.Text
.ActiveDocument.CustomDocumentProperties("Po") = frm_Insert.cbo_Po.Text
.ActiveDocument.CustomDocumentProperties("Dru") = frm_Insert.txt_Dru.Text
.ActiveDocument.CustomDocumentProperties("Dr") = frm_Insert.txt_Dr.Text
'Dokument zum ersten Mal abspeichern
.ActiveDocument.SaveAs Filename:=s_Path & s_FileName, FileFormat:=wdFormatDocument
End With
End If
With app_word
'name als Überschrift einfügen, Diagramme kopieren und anhängen
.Selection.Move unit:=wdStory, Count:=1
.Selection.InsertBreak Type:=wdPageBreak
.Selection.Style = .ActiveDocument.Styles("Überschrift 1")
.Selection.TypeText Text:=frm_InsertSolarCell.txt_Serie.Text & "_" & frm_InsertSolarCell.cbo_Device.Text & "_" & s_Zellenposition
.Selection.TypeParagraph
.Selection.TypeText Text:=frm_InsertSolarCell.txt_Kommentar.Text
Sheets("Diagramme").Select
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:= _
xlPicture
.Selection.TypeParagraph
'.Selection.MoveDown unit:=wdLine 'stattdessen Enter eintragen
.Selection.Paste
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartArea.Select
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:= _
xlPicture
.Selection.TypeParagraph
'.Selection.MoveDown unit:=wdLine 'stattdessen Enter eintragen
.Selection.Paste
End With
Sheets("So").Select
Cells(n_LastRowNr, Range("SC_Filename").Column).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=s_Path & s_FileName & ".doc", TextToDisplay:= _
s_FileName
'Application.ScreenUpdating = False
End Sub
|