1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. smurf

Beiträge von smurf

  • Excel Druckbereich mit _Excel_Print() drucken

    • smurf
    • 20. Dezember 2016 um 17:55

    Danke für Eure Hilfe :)

  • Excel Druckbereich mit _Excel_Print() drucken

    • smurf
    • 20. Dezember 2016 um 17:01

    Hi alpines,
    nein den Bereich habe ich im Script nicht festgelegt da er ja schon in der Exceldatei festgelegt ist. Ich möchte den vom Ersteller gewählten Druckbereich übernehmen und dieser kann sich von Datei zu Datei ändern.
    Zeitriss hat den Fehler gefunden, es liegt tatsächlich an dem Namenskonflikt zwischen Englisch und deutscher Version. Ich hab mir jetzt ein Work'around gebastelt mit dem es funktioniert.

    AutoIt
    Local $oXMLWorkbook = $oExcel.Workbooks.OpenXML($xlsFile)
    Local $MyPrintArea = $oXMLWorkbook.Sheets("MeinReiter").PageSetup.PrintArea
    $oXMLWorkbook.Close
    Local $oWorkbook = _Excel_BookOpen($oExcel, $xlsFile, True)
    $oWorkbook.Sheets("MeinReiter").Activate
    _Excel_Print($oExcel, $MyPrintArea,1,Default,Default,$printVon,$printBis)

    Gruß
    Smurf

  • Excel Druckbereich mit _Excel_Print() drucken

    • smurf
    • 20. Dezember 2016 um 15:36

    Hallo Zeitriss,
    danke für den Tip, ich werde mir mal die links ansehen.
    Zwischenzeitlich habe ich mit einem Kollegen noch was Probiert. Wenn wir dem Objekt vorher einen Bereich zuweisen, dann können wir es anschließend auch auslesen und ich bekomme auch das gewünschte Druckergebnis.

    AutoIt
    $oExcel.ActiveSheet.PageSetup.PrintArea = "A1:AK136"
    _Excel_Print($oExcel, $oExcel.ActiveSheet.PageSetup.PrintArea,1,Default,Default,$printVon,$printBis)


    Gruß
    Smurf

  • Datei einlesen nach Wert suchen und ergänzen

    • smurf
    • 16. Dezember 2016 um 15:04

    Hallo,

    hast du mal _ArraySearch versucht? Damit kannst du das Array durchsuchen und bekommst als Rückgabewert den Platz in deinem Array oder -1 wenns nicht im Array gefunden wurde.
    Mit _ArrayAdd kannst du dann den fehlenden Eintrag dem Array hinzufügen.
    Mit _FileWriteFromArray kannst du das Array in eine Datei schreiben. Dabei wird die vorhandene Datei überschrieben oder wenn du einen neuen Dateinamen angibst eine neue Datei erstellt.


    Gruß
    Smurf

  • Excel Druckbereich mit _Excel_Print() drucken

    • smurf
    • 16. Dezember 2016 um 14:35

    Hallo zusammen,

    vielleicht hat jemand die zündende Idee für mich oder kann mir sagen was ich falsch mache.
    Ich möchte wie der Titel schon sagt eine Exceldatei öffnen und vom Aktiven Sheet ein Ausdruck machen. Soweit kein Problem. In diesen Sheets ist aber ein Druckbereich vordefiniert. Und dieser wird ignoriert.
    Ich habe es erst mit der Funktion _Excel_Print probiert. Aber da wird der in der Exceldatei vorgegebene Bereich ignoriert. Dann habe ich versucht alla Tastaturmakro die Excel eigene Printfunktion zu benutzen und mit Strg+P das Fenster geöffnet und gedruckt. Ergebnis dasselbe. Führe ich dies von Hand aus klappts.

    Jetzt würde ich gerne den Druckbereich auslesen um diesen der _Excel_Print übergeben zu können. Aber wenn ich:


    AutoIt
    Func PrintExlFile($xlsFile, $pdfFile)
    ; Create application object and open an example workbook
    Local $oExcel = _Excel_Open()
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Print Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    Local $oWorkbook = _Excel_BookOpen($oExcel, $xlsFile, True)
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Print Example", "Error opening workbook '" & @ScriptDir & "\Extras\_Excel4.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
        _Excel_Close($oExcel)
        Exit
    EndIf
    ; *****************************************************************************
    ; Print range A1:B3 of the active worksheet to the default printer.
    ; *****************************************************************************
    $oWorkbook.Sheets("MeinSheet").Activate
    MsgBox(1,"PrintArea",$oExcel.ActiveSheet.PageSetup.PrintArea)
    _Excel_Print($oExcel, $oExcel.ActiveSheet.PageSetup.PrintArea,1,Default,Default,$printVon,$printBis)
    Alles anzeigen

    ausführe bekomme ich nicht den Bereich angezeigt, sondern er scheint den Bereich zu überschreiben. Wenn ich dann aufs Excel klicke und mir dort den Bereich anzeigen lasse ist dieser wirklich leer. Schließe ich die Datei ohne zu speichern und öffne sie wieder kann ich sehen das definitiv ein Druckbereich angegeben ist.

    Was mache ich falsch beim auslesen des Druckbereichs? Es ist doch ein property. Kann ich das nicht einfach auslesen?

    Die MSDN Seite von PrintArea
    Ein Post hier aus dem Forum bei dem PrintArea beschrieben wird...

    Gruß

    Smurf

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™