Suchergebnisse

Suchergebnisse 1-30 von insgesamt 39.

  • Benutzer-Avatarbild

    Ja, Franky, da geht noch einiges..... Fragt sich nur, ob man den Aufwand betreiben will und natürlich die Ahnung hat. Ich mache so was ja gerne, obwohl ich nur Hobby-Programmierer bin, andere schütteln da vielleicht eher den Kopf. Am Anfang dieses Threads hatte ich mal einen Link auf meine coole Messagebox beim Clever-Excel-Forum hier eingefügt. Der Code ist dort eingebettet in eine Exceldatei. Der Code dort kann noch den Hintergrund, die Buttons und den Caption einfärben und vieles mehr. Ich fü…

  • Benutzer-Avatarbild

    Nein, kenne ich nicht. Gucke ich mir gerne mal an. Nun ja, habe von 1990 bis 2010 gerne mit PowerBasic EXE-Dateien geschrieben. Aber seitdem arbeitsbedingt fast nur noch VBA für Excel, PHP und HTML. Gruß KH

  • Benutzer-Avatarbild

    Hallo Franky, ja, der Hilfebutton hat ja eigentlich andere Aufgaben. Hatte ich schon bei der MessageBoxIndirect (Beispiel weiter oben) verwendet. Das sieht mir hier alles sehr ähnlich aus. Mit VBA kann ich auch alles machen, was Windows hergibt und mich in die Messages einhooken. Z.B. SetWindowsHookExA oder via SetWindowLongA(hwnd, GWL_WNDPROC, AddressOf WindowProc) usw. Aber das ist mir für den einen Button zur Zeit zu müßig. Ich habe den 8er-Button jetzt umschifft. Ich denke 10 Buttons sind me…

  • Benutzer-Avatarbild

    Hallo Franky, vielleicht noch ein Tipp von Dir.... Help-Button (9) und Close-Button (8) beenden nicht wie die übrigen Buttons die SoftModalMessageBox. Ich brauche keine Hilfe, der Button soll normal verwendbar sein. Dazu aktiviere ich die .lpfnMsgBoxCallback = GetAddressOf(AddressOf MsgBoxCallbackProc) und sende dort nach Klick auf den (Hilfe)button ein Postmessage WM_CLOSE an die Dlg. Funktioniert tadellos. Aber was ist mit dem Close-Button, dem Button mit der ID=8? Was muss man wo einstellen/m…

  • Benutzer-Avatarbild

    Hallo Franky, ich hatte ja schon geschrieben, dass ich einen anderen Weg als Deinen gehen wollte. Ich brauchte nur entscheidende Hinweise, warum es bei mir zum Abbruch kam. Natürlich übergebe ich eindeutige Button-IDs. Dazu wird das Array lArrBtn einfach in einer Schleife mit den Werten 1, 2, 3,..... gefüllt. Warum soll ich zig Konstanten definieren, die ich nicht verwende. Als Ergebnis liefert meine Funktion einfach den Buttontext zurück, der dann ausgewertet werden kann. Diese wurden beim Aufr…

  • Benutzer-Avatarbild

    Hallo zusammen, ich habe den Fehler gefunden. Falls es jemanden interessiert: .dwStyle = iIcon + 1 Hier muss eine Button-ID (z.B. 1=vbok) mit angegeben werden. Ich hatte in Unkenntnis nur eine Icon-ID (z.B. 48 =vbExclamation) oder 0 verwendet. Bei 0 funktioniert es auch nicht. M.E schon etwas empfindlich, die Reaktion. Ich beschrifte die Buttons ja selbst und dachte, man braucht da keine Button-ID. Agän wat lörnt. Gruß KH

  • Benutzer-Avatarbild

    Hallo Rod, hier der derzeitige Code. Der hatte mal funktioniert. Ist aber VBA..... Visual Basic-Quellcode (89 Zeilen) Gruß Karl-Heinz

  • Benutzer-Avatarbild

    Danke für Deine umfangreichen Informationen. Es hat funktioniert. Aber jetzt liefert die Funktion plötzlich nur noch 1 als Rückgabe, egal welchen Button ich klicke und auch bei Klick auf das Systemkreuz kommt statt 32000 nur noch ein Rückgabewert 1. Ich habe, soweit wie ich weiß, nichts gegenüber der funktionierenden Version gemacht und krieg es nicht mehr hin. Ist Dir das auch schon untergekommen? Gruß KH

  • Benutzer-Avatarbild

    Hallo, ich habe es jetzt zum Laufen gebracht. Danke noch mal Franky, das hat mir sehr geholfen. Auch wenn meine Minimalversion deutlich von Deiner abweicht, u.a. auch weil ich keine Nummer sondern den Buttontext zurückgeben will usw. funktioniert jetzt diese Minimalversion unter VBA zu meiner vollste Zufriedenheit. Als nächstes werde ich mich mal an alternative Icons, die Schriftfarben-, größen usw. machen. Mal sehen, ob's klappt. (Versteckter Text) Wie sicher ist diese nicht dokumentiert Funkti…

  • Benutzer-Avatarbild

    Vielen Dank Franky, da werde ich mich demnächst mit beschäftigen und hoffentlich herausbekommen, warum es bei mir in VBA zum Absturz kommt. Gruß KH

  • Benutzer-Avatarbild

    Super Franky, da bin ich mal gespannt. PS: Ich habe hier MS-Office 64 Bit. Die lpszXXXX = StrPtr("xxx") setze ich in anderen Beispielen bei mir auch als STRING ein, das funktioniert dann ohne StrPtr. Ich hatte es aber auch hier schon mit LongPtr und StrPtr("xxx") probiert. Gruß KH

  • Benutzer-Avatarbild

    Hallo Franky, vielen Dank für Deinen Input zur Funktion SoftModalMessageBox. Finde ich sehr interessant. Sie fehlte noch in meinem API-Viewer, wo ich sie jetzt aufnehmen werde. Da ich zur Zeit mit VBA unterwegs bin, habe ich mich daran gemacht, das Ganze unter VBA zum Laufen zu bringen. Hierzu gibt es im Netz leider keine bzw. nur weinige widersprüchliche Beiträge. Und Dein Code bringt mich auch nicht weiter. Meine eigenen Interpretationen (s. Code) lassen leider Excel abstürzen. Vielleicht hast…

  • Benutzer-Avatarbild

    Oh, sorry Coldfire, das war mir jetzt gar nicht bewusst, dass zum Runterladen der Dateien eine Anmeldung erfolgt sein muss. Das Format xlsb ist ein gängiges Excelformat, das die Daten in binärer Form, so wie früher mal das xls-Format war, speichert. Ist platzsparender als die jetzt üblichen xlsx bzw. xlsm-Formate. Also nix gefährliches. Nun, die Beispiele enthalten sehr viel Code, die kann ich jetzt leider nicht hier alle zeigen. Und ich habe zig verschiedene Beispiele.... Für das eine Beispiel …

  • Benutzer-Avatarbild

    Ergänzend zu Messageboxes der API: Es gibt mehrere Funktionen Messagebox in der Windows-API. Die bekannteste ist die MessgeboxA. Mit weiteren API-Funktionen lässt sich diese manipulieren. Diese Messagebox handelt intern 5 Button-IDs, wovon aber mit den MB-Funktionen nur drei gleichzeitig sichtbar geschaltet werden können. Inklusive des Help-Buttons kann man hier also vier Buttons anzeigen lassen. Der Help-Button muss allerdings als Sonderfall anders als die anderen gemanagt werden. Wer mehr will…

  • Benutzer-Avatarbild

    Danke... Dann sollte es ja keine Probleme geben, wenn kein Killtimer eingesetzt wurde. Gruß KH

  • Benutzer-Avatarbild

    Hallo zusammen, ich habe mal eine Frage an die API-Spezialisten hier bzw. stelle dies zur Diskussion. Ich arbeite sehr oft mit der API-Funktion SetTimer in den verschiedensten Versionen. Es versteht sich von selbst, dass dieser Timer dann nach Gebrauch mittels KillTimer wieder gelöscht wird. Da ich den Timer auch oft in VBA unter Excel einsetze habe ich mich schon oft gefragt, ob der Timer mit Beendigung der Application auch automatisch von Windows gelöscht wird oder weiterhin in den Weiten von …

  • Benutzer-Avatarbild

    Hallo Marcus, Dein Code kann m.E. allenfalls in Outlook selbst funktionieren: Application.CreateItem(olMailItem) Wenn Du Daten aus Excel in der Mail verwenden möchtest, solltest Du die Mail von Excel aus organisieren. Hierzu nachfolgend mal ein einfaches Beispiel. In Deinem Code setzt Du das HTML-Format für die Mail (.BodyFormat = olFormatHTML), füllst aber den Body und nicht den HTML-Body. Verwende .htmlbody= um eine HTML-Mail zu erzeugen. Die Formatvorgabe kann man sich dann auch sparen. HTML-…

  • Benutzer-Avatarbild

    Hallo LeClerc, so sollte es klappen. VB.NET-Quellcode (34 Zeilen) Gruß Karl-Heinz

  • Benutzer-Avatarbild

    Hallo Richy, warum gleich aufgeben. So mache ich das mit der Signatur (einfachste HTML-Version) VB.NET-Quellcode (9 Zeilen) Gruß Karl-Heinz

  • Benutzer-Avatarbild

    Hallo, da haben wir ja auch noch Declare PtrSafe Function GetActiveWindow Lib "user32" ( ) As LongPtr im Programm, welches ich oft nutze. Wie sieht es denn damit aus? Gruß KH

  • Benutzer-Avatarbild

    Super, danke Franky, für das Beispiel... Werde mich mal damit beschäftigen. Für die API-Funktionen, Konstanten, Office-Funktionen usw. habe ich mir einen API-Viewer gebastelt, der auch weit mehr Funktionen enthält als die Windows64API_Declares.txt beinhaltet. clever-excel-forum.de/Thread-API-Viewer Bis auf die MB_GetString, sind mir alle verwendeten Funktionen und Konstanten bekannt. Die MB_GetString ist auch noch nicht in meinem API-Viewer, werde ich noch aufnehmen. Tja, man lernt nie aus.... G…

  • Benutzer-Avatarbild

    Hallo RedFromGermany, vielen Dank für Deine Rückmeldung. Es sollte auch nur eine Beispielaufzeigung sein, was wie möglich wäre. In Excel, Word usw. und meiner alten Programmiersprache PowerBasic wird Basic verwendet, wobei aber hier ja hauptsächlich die API aufgerufen wird. Ob ich die o.a. C#-Variante auch nach VBA portieren kann, müsste ich mal probieren. Gruß aus Hessen KH

  • Benutzer-Avatarbild

    Hallo, die Messagebox mit anderen Buttontexten zu versehen oder ein anderes Icon dort anzeigen zu lassen ist mit ein paar API-Befehlen schnell gemacht. Hier mal ein Minimalbeispiel dazu, allerdings für VBA. Weiter unten noch ein Link, der aufzeigt, wie man auch vier Button in einer MsgBox platzieren kann (allerdings auch VBA). VB.NET-Quellcode (44 Zeilen) clever-excel-forum.de/Thread-M…r-Button-und-eigenem-Icon Gruß Karl-Heinz

  • Benutzer-Avatarbild

    Hallo Stixx, die o.a. angesprochene alte DOS-Funktion MKDIR erstellt einen (Unter)Ordner basierend auf einem Hauptordner. Zum Anlegen ganzer Strukturen bedarf es einer strukturierten Vorgehensweise. Ist der neue Ordner schon vorhanden, gibt es einen Fehler, den es gilt abzufangen.... Zum Anlegen eines kompletten Pfades empfiehlt sich die Verwendung einer API-Funktion. Eine wurde bereits von Achilleus angeführt, wobei häufig geäußert wird, dass diese Funktion schon etwas veraltet sei. Ich empfehl…

  • Benutzer-Avatarbild

    Hi Matze, habe das jetzt nicht weiter verfolgt. In deiner o.a. Sub hast Du die Variablen nicht gedimt, sie sind also variant. Wie Eierlein schon anmerkte könnte das der Fehler gewesen sein. Ich hatte ja jetzt einfach immer die gleiche Variable sText füllen lassen. Diese muss dann auf den größten zu erwartenden Text oder mehr dimensioniert werden und kann später längengerecht in Deine Zielvariablen überführt werden. Gruß KH

  • Benutzer-Avatarbild

    Hallo Matze, hier eine Idee dazu... VB.NET-Quellcode (30 Zeilen) Nachtrag:Die Vorgabewerte hatte ich rausgenommen, es wird also kein Wert zurückgegeben, wenn kein Eintrag da ist.Kannst Du natürlich bei Bedarf noch ergänzen.Beispiel:VB.NET-Quellcode (1 Zeile) Gruß Karl-Heinz

  • Benutzer-Avatarbild

    Hallo, sie müssen nicht als String deklariert werden, es kann auch ANY sein. Ein Beispiel (hier 64 Bit Win/Excel),so wie ich das gern mache... VB.NET-Quellcode (29 Zeilen)

  • Benutzer-Avatarbild

    Hallo zusammen, mir reicht's auch so incl. Signatur VB.NET-Quellcode (9 Zeilen) Gruß KH

  • Benutzer-Avatarbild

    Userform Icon im Rahmen

    volti - - Visual Basic for Applications (VBA)

    Beitrag

    Hallo zusammen, und hier noch die Minimalversion auch für 32/64-Bit geeignet. VB.NET-Quellcode (12 Zeilen) Gruß Karl-Heinz

  • Benutzer-Avatarbild

    Hallo, lass das RangeToHTML-Geraffel weg und kopiere den Bereich über den Word-Editor. Hier Dein angepasster Code und ein weiteres Beispiel mit zusätzlichem Text und Signatur.... VB.NET-Quellcode (71 Zeilen) Gruß Karl-Heinz