Makro – die besten Beiträge

Openoffice Calc V. 5.1.5.2 - Makro zum Speichern Unter mit Dateinamen aus Zelle?

Hallo Zusammen,

ich bin was Makros angeht ziemlich unerfahren. Dennoch möchte ich es gerne mit eurer Hilfe angehen! Was machen brauche ist ein Makro, dass beim klicken eines Buttons folgende Funktion durchführt.

  1. Wechsel auf "Tabellenblatt 2" (in meiner Datei "Vorlage CSV"
  2. Zelle "B2" kopieren
  3. Speichern Unter -> Dateiname "Roh_[Inhalt Zelle B2]"
  4. Dateiformat .CSV
  5. Dateipfad indem gespeichert werden soll (M:\Abrechnung..Funk- und MBus-Ablesungen..Versandlisten Funkzähler parametriert)

*Das habe ich bisher:

sub csvexp rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ---------------------------------------------------------------------- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "Nr" args1(0).Value = 3

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

rem ---------------------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ---------------------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ---------------------------------------------------------------------- dim args4(2) as new com.sun.star.beans.PropertyValue args4(0).Name = "URL" args4(0).Value = "file:///M:/Abrechnung/..Funk-%20und%20MBus-Ablesungen/..Versandlisten%20Funkz%C3%A4hler%20parametriert/Roh_Fe12-11111,%20Kupferstr.%2040-46,%2070565%20Stuttgart.csv" args4(1).Name = "FilterName" args4(1).Value = "Text - txt - csv (StarCalc)" args4(2).Name = "FilterOptions" args4(2).Value = "59,34,22,1,,0,false,true,true,false"

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args4())

end sub *

Das Problem ist nun, dass er immer unter dem Namen "Fe12-11111, Kupferstr. 40-46, 70565 Stuttgart" speichert, egal welcher inhalt in der Zelle B2 steht.

Habt ihr Ideen, woran das liegt?

Vorab vielen Dank für Eure Hilfe!

Bild zum Beitrag
Microsoft Excel, speichern, Makro, OpenOffice, Tabellenkalkulation, Calc

Registerfarbe aufgrund von Zellwert einfärben (Excel)?

Ich arbeite grade für eine Kollegin an einer Excel-Tabelle (Excel 2010). Sie wünscht sich nun, dass sich unter einer bestimmten Bedingung die Farben der Registerblätter automatisch ändern. Ich habe dafür die gesamte Tabelle schon soweit vorbereitet, dass eine Formel mir bereits die entsprechende Bedingung ausliest und ausgibt.

Ich gehe dabei jetzt mal ins Detail: In allen Tabellenblätter gibt das Feld J19 mir einen Wert, der entweder =0 oder >0 ist. Bei =0 soll sich der Registername rot färben, bei >0 grün.

Natürlich habe ich Google dazu schon befragt, und mir ist mittlerweile klar, dass sich das mithilfe eines Makros machen ließe. Allerdings liegt genau hier das Problem: Ich habe noch nie mit Makros gearbeitet, schon gar nicht welche geschrieben. Ich weiß mittlerweile wie ich auf die Entwicklertools komme, und wie ich das "Makros"-Fenster öffne. Allerdings habe ich auch nach mehreren (Copy&Paste aus dem Netz) Versuchen es nicht geschafft, dass mir in dem entsprechenden Dialog ein Makro zum Ausführen angezeigt wurde.

Ich bräuchte also eine genaue Anleitung, wo ich was eintragen muss. Ich habe die Tabelle extra so gestaltet, dass der Wert mir in jedem Tabellenblatt im selben Feld ausgegeben wird.

Was ich bislang nicht rausgefunden habe: Läuft das Makro immer automatisch? Oder muss man es immer wieder neu aktivieren? Das wäre nämlich kontraproduktiv, denn die Tabelle soll weitergegeben werden und das Einfärben der Register soll eine "Kontrollfunktion für Dummies" darstelen. Wenn es also jedes Mal aktiviert werden muss, wäre es sinnlos.

Ich hoffe sehr, dass mir jemand helfen kann.

Vielen Dank im Voraus!

Microsoft Excel, Makro, Funktion

Wo ist der Fehler im Code (VBA PowerPoint)?

Hallo meine lieben,

ich benötige wieder einmal eure Hilfe. Ich habe im Internet einen VBA Code gefunden der es ermöglich in einer PowerPoint Präsentation die aktuelle Uhrzeit mit Sekunden anzuzeigen. Da der Code leider nicht 64bit tauglich war hab ich ein wenig rumgetüftelt und siehe da, die Uhr selbst funktioniert schon mal. Aber leider bekomme ich ständig eine Fehlermeldung sobald die Folie gewechselt wird. "slides (unknown member): bad argument type. Excectet Collection index (string or integer). Ich verwende Windows 10 und Office 2016.

Würde mich rießig freuen wenn mir hier jemand weiterhelfen kann.

Vielen Dank im Voraus.

Leider ist der Code zu lange daher in 2 Teile.

Erster Teil:

Option Explicit

'API Declarations
Declare PtrSafe Function SetTimer Lib "user32" _
                            (ByVal hwnd As LongPtr, _
                             ByVal nIDEvent As LongPtr, _
                             ByVal uElapse As LongPtr, _
                             ByVal lpTimerFunc As LongPtr) As LongLong

Declare PtrSafe Function KillTimer Lib "user32" _
                            (ByVal hwnd As LongPtr, _
                             ByVal nIDEvent As LongPtr) As LongLong

' Public Variables
Public ClockTimerID As LongLong
Public prevSlideIdx As LongLong

Const TIMEFORMATSTRING As String = "dd.mm.yyyy - HH:mm:ss - KW :ww" 'show seconds with: "HH:mm:ss""

Dim pptEventObject As New Klasse1 'AppClassModule
'DIESE METHODE EINMALIG UNTER MAKROS STARTEN, DAMIT DAS EVENTHANDLING FUNKTIONIERT!
Sub InitializeApp()
    Set pptEventObject.App = Application
End Sub


Sub StartClockTimer()
    On Error GoTo ErrorOccurred
    
    'first make sure its not already running
    ClockTimerID = KillTimer(0, ClockTimerID)
    ClockTimerID = SetTimer(0, 0, 1000, AddressOf TimerProcClock)
    If ClockTimerID = 0 Then
        MsgBox "Unable to create the clock timer", vbCritical + vbOKOnly, "Error"
        Exit Sub
    End If

    Exit Sub
ErrorOccurred:
    MsgBox Err.Description
End Sub


Sub StopClockTimer()
    On Error GoTo ErrorOccurred
    
    If Not ClockTimerID = 0 Then
        ClockTimerID = KillTimer(0, ClockTimerID)
    End If

    Exit Sub
ErrorOccurred:
    MsgBox Err.Description
End Sub


' The defined routine gets called every nnnn milliseconds.
Sub TimerProcClock(ByVal hwnd As LongPtr, _
                    ByVal uMsg As LongPtr, _
                    ByVal idEvent As LongPtr, _
                    ByVal dwTime As LongPtr)
On Error GoTo ErrHandler
    
    If Not ActiveSlide Is Nothing Then
        ActiveSlide.Shapes("PointaixClockLabel").TextFrame.TextRange.Text = WeekdayName(Weekday((Now()))) + " " + Format(Now(), TIMEFORMATSTRING)
    End If

    Exit Sub
ErrHandler:
End Sub
Microsoft PowerPoint, programmieren, Makro, VBA

Was muss man in Excel eingeben, damit das Datum nicht aktualisiert wird?

Hallo, ich habe wieder eine Excel Frage: ich habe eine Tabelle, Spalten A-H. In der Spalte G habe ich den Status, wo ich eine DropDown-Liste habe und zwischen: "in Bearbeitung", "Material bestellt", [...], "erledigt" auswählen kann. In Spalte H habe ich als Überschrift "erledigt am", es soll also in Spalte H, sobald ich in Spalte G den Status "erledigt" ausgewäht habe, das aktuelle Datum erscheinen. Ich habe also in Spalte H folgende Formel: "=WENN(G50="erledigt";TEXT(JETZT();"TT.MM.JJ");"")". Ich glaube, ihr wisst, worauf ich hinaus wil, also nach dem Speichern soll dich das Datum nicht ändern, tut es aber natürlich. (Ist ja klar!) Aber, da ich erst seit ein paar Monaten mit Excel arbeiten, habe ich noch keine Ahnung. Durch das Stöbern im Internet, habe ich rausgefunden, dass es nicht einfach so funktioniert (oder doch?), sondern, dass man dafür ein Makro braucht (wovon ich absolut keine Ahnung habe). Also so weit bin ich: ich habe die Tabelle offen vor mir, ich klicke auf den Tabellen-Namen und klicke auf "Code anzeigen", dann öffnet sich ja ein Makro Fenster. So, was soll ich nun machen? Ihr wisst ja, welche Spalte ich brauche, es wäre schön einen Code zu haben. :-) Und wenn ich da den Code eingefügt habe, was muss ich dann machen? Ich würde dann auf "speichern" klicken, dann öffnet er ja ein Fenster und weist mich darauf hin, dass ich die Datei als eine Mappe mit Makros speichern muss. Richtig? Dann würde ich das tun. Und dann wenn ich das gespeichert habe, müsste ich die Makros (-> "Inhalt aktivieren") jedes Mal, wenn ich die Datei öffne anklicken, oder? und dann habe ich das, was ich will. Bitte helft mir, ich verzweifle so langsam...

Microsoft Excel, Spalten, Befehle, Makro, VBA, ändern, aktuell, Code, Datum

Meistgelesene Beiträge zum Thema Makro