Sahanya

Mittwoch, 19. 03. 2008

Amazon-Linkgenerator

Filed under: — Sahanya @ 12:41

Das Veröffentlichen von Links zu Amazonprodukten, insbesondere dann wenn es sich um einen Partnerlink handeln soll, kann man mit dem Programm Amazon-Linkgenerator vereinfachen: Einfach die ASIN (bei Büchern die 10stellige ISBN) und bei Bedarf die Partner-ID eingeben und schon erhält man verschiedene Linkvarianten (nur URL, als Textlink, als Bildlink). Alle Links kann man auch als BB-Code erhalten. Zum Kopieren der Codeschnipsel reicht ein Klick auf den entsprechenden Button.

Das Programm kann man entweder direkt über den Internet Explorer starten oder als Desktop-Version installieren.

Amazon-Linkgenerator

Starten (nur mit IE, .NET Framework 2.0 und Windows Installer 3.1)

Download (Desktop-Version)

Mittwoch, 16. 01. 2008

Sonderzeichen maskieren

Filed under: — Sahanya @ 15:04

Klitzekleines Programm zum Maskieren von Sonderzeichen:

Sonderzeichen maskieren

Den zu bearbeitenden Text einfach in das Fenster “Originaltext” einfügen und dann auf “Start (Maskieren)” klicken. Ein Mausklick auf “Kopieren” fügt den umgewandelten Text in die Zwischenablage ein. Ein Klick auf “Eingabe löschen” leert das Fenster für den “Originaltext”.

Download

Sonntag, 17. 12. 2006

Makro zeitlich einschränken

Filed under: — Sahanya @ 09:42

Manchmal möchte man ein Makro zeitlich einschränken, also ein Datum angeben ab oder bis wann das Makro aktiviert werden soll, eventuell auch einen bestimmten Zeitraum. Dafür umschließt man die Prozedur einfach mit einer Datumseinschränkung:

Ab einem bestimmten Datum:

StartDatum = #12/31/2006#
If Now() > StartDatum Then
    ...
End If

Bis zu einem bestimmten Datum:

EndDatum= #12/31/2006#
If Now() < EndDatum Then
    ...
End If

Während eines bestimmten Zeitraumes:

StartDatum = #12/1/2006#
EndDatum = #1/1/2007#
If Now() >= StartDatum And Now() < EndDatum Then
    ...
End If

Via ExcelTips

Sonntag, 26. 02. 2006

FaceID

Filed under: — Sahanya @ 15:19

FaceID Viewer

Wer beim Schreiben von Makros seine selbst erstellten Menüleisten mit kleinen Bildchen oder Symbolen aufpeppen möchte, muss dafür auf die sog. FacIDs zurückgreifen. In der einschlägigen Literatur findet man dazu seitenweise Listen. Das Excel-Addin FaceID Viewer von Doug Glancy erleichtert da die Arbeit sehr und hat auch noch die komfortable Funktion, dass die letzten benutzten IDs in einer separaten Liste abgelegt werden, wo man sie dann einfach wiederfinden kann. Zudem kann man sich die IDs auch thematisch auflisten lassen.

Sonntag, 05. 02. 2006

Datum

Filed under: — Sahanya @ 13:55

Schon oft habe ich mich darüber geärgert, dass ich mir in der Taskleiste nicht das aktuelle Datum anzeigen lassen kann, sondern nur die Uhrzeit. (Ich lasse mich da übrigens gerne eines besseren belehren.)

Bei Skrommel habe ich nun ein AHK-Skript gefunden, das das Datum und die Uhrzeit im Wechsel auf dem Windows-Start-Button anzeigt. Ich habe das Skript so gekürzt, dass es nur noch das aktuelle Datum anzeigt.

;Datum.ahk
;Zeigt das aktuelle Datum auf dem Windows-Start-Button
;Original von Skrommel 2005
;Anpassung von Sahanya 2006

#Persistent

ControlGetPos,,,bredde,,Button1,ahk_class Shell_TrayWnd
bredde+=2

ControlMove,Button1,,,%bredde%,,ahk_class Shell_TrayWnd
ControlSetText,Button1,%A_DD%.%A_MM%,ahk_class Shell_TrayWnd

Ergänzt man das Skript noch um #NoTrayIcon (vor oder hinter das #Persistent), so wird in der Taskleiste kein Symbol für das laufende Programm angezeigt.

Download

Samstag, 24. 12. 2005

Versteckte Zeilen und Spalten

Filed under: — Sahanya @ 12:04

Versteckte bzw. ausgeblendete Zeilen und Spalten in Excel-Dokumenten können, insbesondere nach der Speicherung als Textdatei zu unschönen Ãœberraschungen führen. Oft werden diese Zellen nämlich versteckt, weil ihr Inhalt nicht mehr benötigt wird. Dabei wird entweder die Excel-interne Methode „Ausblenden” benutzt oder aber (alles schon gesehen) Zeilen bzw. Spalten manuell verkleinert, so dass ihr Inhalt nicht mehr sichtbar ist.

Bei umfangreichen Dokumenten, die man nun weiterverarbeiten möchte, können solche Zeilen und Spalten leicht übersehen werden oder aber das Einblenden und anschließende Löschen zu einer Sisyphusarbeit ausarten. Ein VBA-Makro kann diese Arbeit allerdings leicht übernehmen:

Sub versteckte_loeschen()
    Dim r As Range
    For Each r In Rows(1).Cells
        If r.Width < 1 Then r.EntireColumn.Delete
    Next
    For Each r In Columns(1).Cells
        If r.Height < 1 Then r.EntireRow.Delete
    Next
End Sub

Versteckte löschen

Sonntag, 20. 11. 2005

Neue Ordner melden

Filed under: — Sahanya @ 15:15

Das folgende Autohotkey-Skript meldet sich alle 10 Minuten und zeigt dann an wieviele Ordner (ohne Unterordner) sich in einem bestimmten Verzeichnis befinden, deren Name nicht bestimmte Worte (hier: „bearbeitet” oder „erledigt”) enthält.

Dies ist sinnvoll, wenn man Ordner hat, die abgearbeitet werden sollen, man aber nicht immer nachschauen möchte, um zu sehen, ob neue noch unbearbeite Ordner hinzugekommen sind. (Das Umbenennen von bereits bearbeiteten Ordnern habe ich hier schon einmal demonstriert.

; neue Ordner, ohne die „Worte” werden alle 10 Minuten angezeigt

#Persistent
SetTimer, NeueOrdner, 600000 ;1.000 = 1 Sekunde
return

NeueOrdner:
FileList =  ; Leere Liste
folder_count = 0  ;Zähler bei Null beginnen
Worte = bearbeitet,erledigt ;Worte ohne (!) Leerzeichen

Loop, C:\ahktest\*, 2       ;Alle Ordner, ohne Unterordner

  FileList = %FileList%%A_LoopFileName%`n

  Loop, parse, FileList, `n
  {
	if A_LoopField =  ; Leerzeichen am Ende ignorieren
  	continue

	 If A_LoopField not contains %Worte%      ;für eine Liste von Wörter
         ;IfNotInString, A_LoopField, %Worte%     ;wenn man nur ein Wort hat
	     {
	     folder_count++
             }
  }
If folder_count > 0
  MsgBox, %folder_count% neue Ordner

exit
Mittwoch, 02. 11. 2005

Index für Excel

Filed under: — Sahanya @ 19:19

Index Gerade bei umfangreichen Excel-Dokumenten kann es schnell passieren, dass man bei einer hohen Anzahl von Tabellenblättern den Ãœberblick verliert. Ein Makro kann da Abhilfe schaffen. Es erstellt ein neues Tabellenblatt mit dem Namen „Index” als erstes Tabellenblatt und listet dort die Namen der anderen Tabellenblätter auf. Diese sind verlinkt, so dass man mit einem Klick auf dem gewünschten Tabellenblatt landet. Auf den einzelnen Tabellenblättern wird ein Link zum Index-Tabellenblatt eingefügt. Hier sollte man allerdings aufpassen, denn dieser wird (hier im Beispiel) in die Zelle „H1” eingefügt und überschreibt somit den ursprünglichen Inhalt. Man sollte dies also evtl. anpassen. Das Makro selbst habe ich bei Lockergnome gefunden und erweitert um die Mitteilung, dass bereits ein Index existiert. Außerdem habe ich das ganze ergänzt um ein Makro, das den Index und sämtliche Links dorthin wieder löscht.

(weiterlesen…)

Freitag, 30. 09. 2005

Skript-Sammlung

Filed under: — Sahanya @ 13:57

Skript-Sammlung

Beim Stöbern im AHK-Forum bin ich auf ein interessantes Skript gestoßen, das einem hilft eine eigene Skriptsammlung zu erstellen. Hier kann man entweder häufig benutzte Skripte ablegen oder aber auch Kompliziertes, so dass man bestimmte Sachen nicht erst duch das langwierige Suchen in alten Projekten wiederfindet.

Für diejenigen, die AHK nicht installiert haben, gibt es hier die gezippte exe-Version.

Mittwoch, 17. 08. 2005

Datei speichern wenn

Filed under: — Sahanya @ 19:02

PC herunterfahren Noch hilfreicher als der Code-Schnippsel hier zum speichern einer Datei, wenn der PC heruntergefahren werden soll, ist es wenn das ganze im Hintergrund läuft. Dafür muss man das Skript wie folgt erstellen:

#NoTrayIcon
#Persistent
OnExit, ExitSub
return
ExitSub:
; Wenn der PC ausgeschaltet wird
if A_ExitReason in Shutdown
{
FileCopy, C:\datei.txt, C:\%A_DD%-%A_MM%-%A_YYYY%-datei.txt, 1
}
ExitApp

Montag, 01. 08. 2005

Speichern und runterfahren

Filed under: — Sahanya @ 20:50

Wenn man am Ende des Arbeitstages immer eine bestimmte Datei mit dem aktuellen Datum speichern möchte, ist es das einfachste dies mit dem Herunterfahren des PCs zu kombinieren. Mit einem AHK-Skript gelingt dies sehr einfach:

; Datei speichern mit aktuellem Datum und PC runterfahren

FileCopy, C:\datei.txt, C:\%A_DD%-%A_MM%-%A_YYYY%-datei.txt, 1

Shutdown, 1

Ein schöner Nebeneffekt ist auch, dass das lästige Bestätigen des Herunterfahrens des PCs entfällt, also habe ich mir noch eine
*.exe-Datei erstellt, die den PC mit wirklich nur einem Klick (ok Doppelklick) herunterfährt.

Samstag, 16. 07. 2005

Leere Zellen

Filed under: — Sahanya @ 14:14

Leere Tabellenzellen in Word

Wenn man in Word viel mit Tabellen arbeitet, bzw. diese bearbeiten muss, kann es manchmal nötig sein alle leeren Zellen zu entfernen. Der Trick dabei ist, dass die leeren Tabellenzellen in Wahrheit überhaupt nicht leer sind, sondern zwei Zeichen beinhalten: Chr(13) und Chr(7). Deswegen muss man dies beim Löschen per VBA berücksichtigen. Ein Makro, das die leeren Zellen der Tabelle löscht, in der sich gerade der Cursor befindet könnte dann so aussehen:

(weiterlesen…)

Sonntag, 05. 06. 2005

Suche/Ersetze nach Abfrage

Filed under: — Sahanya @ 12:11

Fußnoten Aufgabe: In einem Word-Dokument sind verschiedene Fußnoten (keine „echten” Fußnoten, sondern einfacher Text), die unterschiedliche Tags bekommen sollen. Also, die Fußnote 1) soll einen Tag mit der ID f1 bekommen, die Fußnote 2) einen Tag mit der ID f2, die Fußnote * soll den Tag mit der ID f3 bekommen usw. Dies kann durch einen simplen Suche/Ersetze-Vorgang in Word erreicht werden:

Suche: 1), ersetze mit: <FnR RefID=f1>1)</FnR>

Um diesen Vorgang auch für Benutzer, die im Umgang mit Word sehr unerfahren sind komfortabel zu gestalten und um sich das lästige Eintippen des kompletten Tags zu ersparen, habe ich ein Makro erstellt.

(weiterlesen…)

Freitag, 06. 05. 2005

Tabellenblätter speichern

Filed under: — Sahanya @ 08:54

Tabellenblätter in Excel Wenn man in einem Excel-Dokument Tabellen auf mehreren Tabellenblättern eingefügt hat, kann man diese zwar im Gesamten ausdrucken, doch man kann sie nicht in einem anderen Format (z. B. als Textdatei) speichern, denn Excel speichert bei so einem Vorgang nur das erste Tabellenblatt. Um also den kompletten Dateiinhalt in eine Textdatei zu bekommen, muss man sich die Inhalte der Tabellenblätter auf ein einzelnes Tabellenblatt kopieren. Mit Hilfe von VBA kann man dies automatisieren:

Sub Tabellenblaetter()
Dim TabellenBlatt As Byte
Dim FreieZeile As Integer

Worksheets(1).Activate

For TabellenBlatt = 2 To Sheets.Count

FreieZeile = Worksheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
Worksheets(TabellenBlatt).UsedRange.Copy _
Destination:=Worksheets(1).Cells(FreieZeile + 1, 1)

Next TabellenBlatt

End Sub

Montag, 18. 04. 2005

Makro in Word rückgängig machen

Filed under: — Sahanya @ 20:01

Rückgängig Gerade bei umfangreichen Makros kann das Rückgängigmachen der einzelnen Schritte recht mühsam werden. Bei der Suche nach einer Lösung, die es ermöglicht ein komplettes Makro oder aber auch mehrere Makros, die in einem Schritt ablaufen, die man aber aus Gründen der Übersichtlichkeit im Code auf mehrere Makros verteilt hat, bin ich auf eine Lösung von Roemer Lievaart gestoßen. Diese ist zwar für Word97 ausgewiesen, funktioniert aber auch in Word2003.

Dazu setzt man die Zeile StartUndoSaver einfach an den Beginn eines Makros und die Zeile EndUndoSaver an das Ende, so dass man folgendes erhält:

Sub Irgendwas
StartUndoSaver

Hier kommt der Code.
EndUndoSaver
End Sub

Zusätlich muss man noch folgende Makros haben, die man am Besten in einem eigenen Modul einfügt:

(weiterlesen…)

Sonntag, 10. 04. 2005

Tastenkombinationen

Filed under: — Sahanya @ 10:49

Autohotkey erwähnt schon auf seiner Startseite die Möglichkeit mittels kleinster Skripte einfache Tastenkombinationen in ganze Ausdrücke umzuwandeln, das beliebteste Skript hierbei ist sicherlich

::mfg::Mit freundlichen Grüßen

um das Schreiben von E-Mails zu erleichtern.

Ein weiteres Einsatzgebiet ist aber auch das Einfügen von Zeichen, die auf einer deutschen Tastatur nicht vorhanden sind (ë, ç, ñ etc.). Denn das Benutzen der Tastenkombinationen, die man evtl. in Word für diese Buchstaben angelegt hat, funktioniert auch nur in Word.

Ein Mini-Autohotkey-Skript bewirkt aber, dass das Tastaturkürzel wirklich überall funktionieren. Für das Einfügen einfacher Buchstaben genügt folgender Code:

(weiterlesen…)

Mittwoch, 06. 04. 2005

FreeWheel

Filed under: — Sahanya @ 19:34

MausNichts ist nerviger als festzustellen, dass das Scrollrad der Maus in bestimmten Anwendungen nicht funktioniert, z. B. im VBA-Editor und in Excel während man Zellen markiert hat. FreeWheel kann ich daher allen empfehlen!

Versalschrift

Filed under: — Sahanya @ 19:18

Wenn man mit Dokumenten arbeitet, die Text enthalten, der nicht mit der Shift-Taste GROSS geschrieben wurde, sondern mittels Formatierung in Word (Format – Zeichen – Schrift) in Großbuchstaben umgewandelt wurde, kann es zu überraschenden bzw. ärgerlichen Ergebnissen kommen, wenn man zusätzlichen Text einfügen möchte, der nicht in Versal geschrieben sein soll.

Außerdem kann es zu Problemen kommen, wenn man diesen Text in eine andere Anwendung exportieren oder kopieren möchte, wenn unterwegs die Formatierung verloren geht.

Das folgende Makro wandelt alle Absätze deren Text die Formatierung Großbuchstaben enthält in „richtige” Großbuchstaben um:

(weiterlesen…)

Samstag, 26. 03. 2005

Ordner

Filed under: — Sahanya @ 12:46

Das folgende Skript kopiert Ordner (inkl. Unterordner und Dateien) und benennt dann das Original am Ursprungsort um. Das kann sinnvoll sein, wenn Ordner mit ihren Dateien an einem anderen Ort zur Bearbeitung zur Verfügung stehen sollen, das Original aber immer erhalten bleiben muss.

(weiterlesen…)

Samstag, 26. 02. 2005

Laufwerke

Filed under: — Sahanya @ 16:00

Mit folgendem Skript kann man seine Laufwerke mit Hilfe eines kleinen Interfaces steuern:

Laufwerke

;Laufwerke öffnen und schließen

Gui, Add, Button, x6 y6 w90 h30, DVD auf
Gui, Add, Button, x6 y46 w90 h30, Brenner auf
Gui, Add, Button, x106 y6 w90 h30, DVD zu
Gui, Add, Button, x106 y46 w90 h30, Brenner zu
Gui, Add, Button, x56 y86 w90 h30, Abbrechen

Gui, Show, x170 y110 h122 w200, Laufwerke
Return

ButtonDVDauf:
Drive, Eject, E:
Pause

ButtonDVDzu:
Drive, Eject, E:, 1
ExitApp

ButtonBrennerauf:
Drive, Eject, F:
Pause

ButtonBrennerzu:
Drive, Eject, F:, 1
ExitApp

ButtonAbbrechen:
MsgBox, Schade :-(
ExitApp

GuiClose:
ExitApp

Wer die gleichen Laufwerksbuchstaben hat wie im Beispiel kann sich auch gerne die gezippte *.exe-Datei runterladen.

Neue Kategorie

Filed under: — Sahanya @ 15:23

Mit den Unterkataegorien Perl, VBA und jetzt neu AutoHotkey bin ich hierhin umgezogen.

Donnerstag, 17. 02. 2005

AutoHotkey

Filed under: — Sahanya @ 22:41

AutoHotkey Nun muss ich endlich meine Begeisterung über das OpenSource-Projekt AutoHotkey auch mal schriftlich niederlegen ;-)

Wer ein wirklich einfaches und leicht verständliches Programm sucht mit dem man einfache Skripte erstellen kann, kann aufhören zu suchen. Mit AutoHotkey ist (nach einem kurzen Überblick) u. a. folgendes möglich:

  • Textbausteine nur in einem bestimmten Programm verfügbar machen
  • Textbausteine programmübergreifend verfügbar machen
  • Dateien und Ordner manipulieren (löschen, verschieben, kopieren etc.)
  • Programme mit Hilfe von selbsterstellten Tastaturkürzeln bedienen

Außerdem gibt es einen Skript-Rekorder, mit dem man Vorgänge auch aufzeichnen kann und zudem die Möglichkeit Skripte in *.exe-Dateien umzuwandeln, so dass sie auch auf PCs laufen, die AutoHotkey nicht installiert haben.

Wer mit dem Editor PSPad arbeitet kann sich dort auch die Syntax-Hervorhebungen für die *.ahk-Dateien laden.

Montag, 10. 01. 2005

Blindtext

Filed under: — Sahanya @ 22:09

Wenn man für VBA (aber auch für andere Gelegenheiten, z. B. um ein Schriftbild zu beurteilen) auf die Schnelle einen Blindtext benötigt, bietet es sich an, die dafür in Word vorhandene Funktion zu nutzen: einfach =rand() eingeben und Word schreibt in das geöffnete Dokument:

Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.

Füllt man die Klammer (wie o. a.) nicht aus, erscheinen 3 Absatze mit jeweils 5 Sätzen dieses Textes. Man kann aber auch die Anzahl der Absätze und der darin enthaltenen Sätze bestimmen, wobei die erste Zahl die Anzahl der Absätze und die zweite Zahl die Anzahl der in einem Absatz vorkommenden Sätze bestimmt: =rand(1.2) ergibt also einen Absatz mit zwei Sätzen.

Eine umfangreiche Sammlung von Blindtexten findet man bei Newmediadesigner. Mein persönlicher Favorit:

Blind von Geburt an

Ich bin Blindtext. Von Geburt an. Es hat lange gedauert, bis ich begriffen habe, was es bedeutet, ein blinder Text zu sein: Man macht keinen Sinn. Man wirkt hier und da aus dem Zusammenhang gerissen. Oft wird man gar nicht erst gelesen. Aber bin ich deshalb ein schlechter Text? Ich weiss, dass ich nie die Chance haben werde, im Stern zu erscheinen. Aber bin ich darum weniger wichtig? Ich bin blind! Aber ich bin gerne Text. Und sollten Sie mich jetzt tatsächlich zu Ende lesen, dann habe ich etwas geschafft, was den meisten “normalen” Texten nicht gelingt.

Samstag, 25. 12. 2004

Shapes

Filed under: — Sahanya @ 09:17

Wenn man in einem Office-Dokument via VBA einzelne Objekt-Formen ansprechen möchte, die z. B. über das Menü „Einfügen” eingefügt wurden, muss man die jeweilige Shape bzw. Form einzeln ansprechen, da sonst sämtliche Formen betroffen wären.

Hier zwei Beispiele:

(weiterlesen…)

Sonntag, 12. 12. 2004

doc-Text in HTML konvertieren

Filed under: — Sahanya @ 19:31

Möchte man einen längeren Text in einem Word-Dokument HTML-tauglich machen, müssen mehrere Schritte unternommen werden:

  1. Überflüssige Leerzeilen, -zeichen u. ä. löschen
  2. Sonderzeichen maskieren
  3. Internet- und E-Mail-Adressen „umsetzen”
  4. Absätze mit Tags umschließen
  5. Ungeordnete und Geordnete Listen kennzeichen

Um all diese Schritte automatisch vornehmen zu können, habe ich ein Makro zusammengestellt, das dies alles erledigt.

(weiterlesen…)

 

Powered by WordPress | Angepasst von: www.vlad-design.de