Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Lumpensammler ...


  • Please log in to reply
No replies to this topic
gero
  • Members
  • 127 posts
  • Last active: Jan 18 2016 10:18 PM
  • Joined: 08 May 2009

Da ich täglich viel im Web recherchieren muss, manchmal nur einzelne Textpassagen oder Bilder, mitunter auch ganze Web-Seiten für späteren Gebrauch oder nochmal-lesen archivieren muss, habe ich mir diesen "Lumpensammler" gebastelt ... vielleicht kanns ja einer brauchen.

Vorab - ist alles nur simpler Standardcode ... und die Ressourcen (Icons und den Sound) gibts separat zum downloaden s.u.

Was macht es:
Ich nutze es vorzugsweise mit Firefox ... sollte aber grundsätzlich in allen Anwendungen funktionieren.
Der markierte Text oder Bild wird, wenn über das Kontextmenü entweder "kopieren" oder "Bild kopieren" gewählt wird und gleichzeitig die linke Strg-Taste gedrückt wird, in einer *.doc - Datei gespeichert. Die Tastenkombination Strg+c wird ignoriert und funktioniert wie gewohnt.
Der Dateiname besteht aus den ersten 80 Zeichen des kopierten Textes und es wird im Ordner "L-Sammler" auf dem Desktop gespeichert.
Bilder heissen einfach nur "Bild". Allen Dateien wird eine Suffix (Datum/Zeit) angehangen.
Für "nur Bilder" sollte Irfan_View im Standardverzeichnis vorhanden sein.
MS Word ist ein Muss ... getestet mit Word 2000 / 2003 unter XP + W7
Der Vorgang ist abgeschlossen wenn der Sound zu hören ist ... es gibt auch noch einen optischen Hinweis.
Es gibt 2 Modi ...  nur Text oder HTML mit Bildern ... nur Bild funktioniert in beiden Modi.
Umgeschaltet zwischen den Modi wird per Doppelklick im Tray.

gruss
gero

Hier gibts die Icons und den Sound zum Script: http://www.wikiuploa...PG6ULJAC9Z0DT4Y

 

#NoEnv
#Persistent
#SingleInstance force
#ClipboardTimeout 3000
CoordMode,Mouse,Screen
DetectHiddenWindows,ON
SetWorkingDir %A_ScriptDir%
Process,Priority,,H
ComObjError(false)
SendMode Input
ListLines, OFF
AutoTrim, On
OFF=0
Control=1
DOTTS:="."
TRENNER:="......................."
IVX=0
SAVEPATH=%A_Desktop%\L-Sammler
IfExist,%A_ProgramFiles%\IrfanView\i_view32.exe ; Path to IrfanView
    {
    IV=%A_ProgramFiles%\IrfanView\i_view32.exe ; Path to IrfanView
    IVX=1
    }
IfNotExist,config.gero
    FileAppend,0,config.gero
FileRead,HTML,config.gero
IfNotExist,% SAVEPATH
    FileCreateDir,% SAVEPATH
Menu,Tray,NoStandard
Menu,Tray,Click, 2
Menu,Tray,Add,INFO,INFO
Menu,Tray,Add,%A_space%,INFO
Menu,Tray,ADD,OFF,OFF
Menu,Tray,ADD,ON,OFF
Menu,Tray,Check,ON
Menu,Tray,ADD
Menu,Tray,ADD,HTML (incl.Bilder),HTML
Menu,Tray,ADD,nur Text,HTML
IF HTML=1
    {
    Menu,Tray,check,HTML (incl.Bilder)
    Menu,Tray,Tip,ClipTool Modus >>> HTML (incl.Bilder)
    Menu,Tray,default,nur Text
    Menu,Tray,Disable,HTML (incl.Bilder)
    Menu,Tray,Icon,HTML.ico
    }
    else
    {
    Menu,Tray,check,nur Text
    Menu,Tray,Tip,ClipTool Modus >>> nur Text
    Menu,Tray,default,HTML (incl.Bilder)
    Menu,Tray,Disable,nur Text
    Menu,Tray,Icon,TEXT.ico
    }
Menu,Tray,ADD
Menu,Tray,ADD,reload,Reload
Menu,Tray,ADD,exit,EXIT
oWord := ComObjCreate("Word.Application")
oWord.quit()
return

~^c::
Control=1
return

OnClipboardChange:
IF (Control=1 || OFF=1 || A_Eventinfo = 0 || ALRIGHT=0)
    {
    Control=0
    return
    }
ALRIGHT=0
IfNotExist,% SAVEPATH
    FileCreateDir,% SAVEPATH
GetKeyState, KS , LControl,P
IF KS=D
    {
    MouseGetPos,XX,YY
    XX-= 50
    SUFFIX=%A_MM%%A_DD%%A_Hour%%A_MIN%%A_Sec%
    IF A_Eventinfo = 2
            {
            IF IVX=1
                {
                Progress, x%XX% y%YY% B ZH0 cwFF0000 CTFFFF00 ZW400 FM10,,Lumpensammler >>> BILD ,
                TEXTN := "PICTURE.JPG"
                DOTTS := TRENNER . TRENNER . TRENNER . TRENNER . TRENNER
                RunWait, %IV% /clippaste /jpgq=100 /convert=%SAVEPATH%\%TEXTN%%DOTTS%[%SUFFIX%].JPG
                Soundplay,sound.wav,1
                }
            DOTTS := "."
            ALRIGHT=1
            sleep 500
            Progress, Off
            return  
            }
    TEXT=%ClipBoard%
    StringLeft,TEXTN,TEXT,80
    StringReplace,TEXTN,TEXTN,`t,%A_Space%,all
    StringReplace,TEXTN,TEXTN,`r`n`r`n,`r`n,all
    StringReplace,TEXTN,TEXTN,%A_Space%%A_Space%,%A_Space%,all
    StringReplace,TEXTN,TEXTN,`r`n,%A_Space%,all
    StringReplace,TEXTN,TEXTN,`n,%A_Space%,all
    StringReplace,TEXTN,TEXTN,`r,%A_Space%,all
    StringReplace,TEXTN,TEXTN,<,--,all
    StringReplace,TEXTN,TEXTN,>,--,all
    StringReplace,TEXTN,TEXTN,?,%A_Space%,all
    StringReplace,TEXTN,TEXTN,`",%A_Space%,al
    StringReplace,TEXTN,TEXTN,:,%A_Space%,all
    StringReplace,TEXTN,TEXTN,|,I,all
    StringReplace,TEXTN,TEXTN,/, I,all
    StringReplace,TEXTN,TEXTN,\,I,all
    StringReplace,TEXTN,TEXTN,*,°,all
    StringReplace,TEXTN,TEXTN,;,`,,all
    StringReplace,TEXTN,TEXTN,.,%A_Space%,all
    L1 := StrLen(TEXTN)
    IF L1 < 80
        {
        IF L1 < 6
            {
            TEXTN := "DummyName"
            DOTTS := TRENNER . TRENNER . TRENNER . TRENNER
            }
            else
            {
            Loop, % 80 - L1
                {
                DOTTS .= "."
                }
            }
        }
    IF HTML = 1
        {
        Progress, x%XX% y%YY% B ZH0 cwFF0000 CTFFFF00 ZW400 FM10,,Lumpensammler >>> HTML,
        SAVDOC=%SAVEPATH%\%TEXTN%%DOTTS%%TRENNER%[%SUFFIX%].doc
        oWord := ComObjCreate("Word.Application")
        oWord.Visible := false
        oDOC := oWord.Documents.Add()
        oWord.Selection.Paste
        oDOC.SaveAs(SAVDOC)
        oDOC.Close()
        oWord.quit()
        }
        else
        {
        Progress, x%XX% y%YY% B ZH0 cwFF0000 CTFFFF00 ZW450 FM10,,Lumpensammler >>> TEXT,
        SAVDOC=%SAVEPATH%\%TEXTN%%DOTTS%%TRENNER%[%SUFFIX%].doc
        FileAppend,%TEXT%,%SAVDOC%
        }
    sleep 500
    Soundplay,sound.wav,1
    DOTTS := "."
    }
ALRIGHT=1
Progress, Off
return

HTML:
IF HTML=1
    {
    HTML=0
    FileDelete,config.gero
    FileAppend,%HTML%,config.gero
    Menu,Tray,unCheck,HTML (incl.Bilder)
    Menu,Tray,Check,nur Text
    Menu,Tray,Tip,ClipTool Modus >>> nur Text
    Menu,Tray,default,HTML (incl.Bilder)
    Menu,Tray,Disable,nur Text
    Menu,Tray,Enable,HTML (incl.Bilder)
    Menu,Tray,Icon,TEXT.ico
    IF OFF=1
        {
        OFF=0
        Menu,Tray,unCheck,OFF
        Menu,Tray,Check,ON
        }
    }
    else
    {
    HTML=1
    FileDelete,config.gero
    FileAppend,%HTML%,config.gero
    Menu,Tray,Check,HTML (incl.Bilder)
    Menu,Tray,unCheck,nur Text
    Menu,Tray,Tip,ClipTool Modus >>> HTML (incl.Bilder)
    Menu,Tray,default,nur Text
    Menu,Tray,Disable,HTML (incl.Bilder)
    Menu,Tray,Enable,nur Text
    Menu,Tray,Icon,HTML.ico
    IF OFF=1
        {
        OFF=0
        Menu,Tray,unCheck,OFF
        Menu,Tray,Check,ON
        }
    }
return

OFF:
IF OFF=0
    {
    OFF=1
    Menu,Tray,Check,OFF
    Menu,Tray,unCheck,ON
    Menu,Tray,Icon,OFF.ico
    Menu,Tray,Tip,ClipTool Modus >>> OFF
    Menu,Tray,default,ON
    }
    else
    {
    OFF=0
    Menu,Tray,unCheck,OFF
    Menu,Tray,Check,ON
    IF HTML=1
        {
        Menu,Tray,Icon,HTML.ico
        Menu,Tray,Tip,ClipTool Modus >>> HTML (incl.Bilder)
        Menu,Tray,default,nur Text
        }
        else
        {
        Menu,Tray,Icon,TEXT.ico
        Menu,Tray,Tip,ClipTool Modus >>> nur Text
        Menu,Tray,default, HTML (incl.Bilder)
        }
    }
return

RELOAD:
reload
return

INFO:
MsgBox,4096,Info,EasyClipBoardToWord `n  ( Lumpensammler ) `n`nfreeware by gero `nVersion 3.0.0.0 `n(2013) ,8
return

exit:
ComObjError(false)
oDOC.Close()
oWord.quit()
exitapp
return