Ich weiß nicht, wo Office die Informationen zu den Speicherorten ablegt. In der Registry habe ich keine Veränderung bemerkt, als ich mal den Speicherort verändert habe. Aber vielleicht steht das dann wieder in einem gaaaanz andren Pfad ![]()
Beiträge von BugFix
-
-
Nicht über Registry, so ists einfacher:
[autoit]MsgBox(0, 'Version MS Word', WordVersion())
[/autoit]
Func WordVersion()
Local $objWord = ObjCreate("Word.Application")
If Not IsObj($objWord) Then Return 'Kein Word installiert!'
Return $objWord.Version
EndFuncKleiner Nachteil: Sollten auf dem Zielrechner mehrere Versionen installiert sein, ist nicht sicher, dass das Word-Objekt mit der aktuellen Version erstellt wird - somit ist auch die Versionsinfo nicht korrekt. Dann bleibt nur der Weg über die Registry.
-
Nette Idee

-
[autoit]
$DatumInput1 = ''
[/autoit]
$DatumInput1 = GUICtrlRead($Input1)
If $DatumInput1 <> '' Then
GUICtrlSetData($Input2, $DatumInput1)
GUICtrlSetData($Input3, $DatumInput1)
GUICtrlSetData($Input4, $DatumInput1)
; .....usw.
EndIf -
Da es um Listbox geht, in der Hilfe unter UDF -> GUIListBox-Management.
Als erstes wird eine Liste erstellt, also Create - wenn du diese Funktion anschaust, findest du schon alle Angaben.
-
[autoit]
ReDim $PDFfiles[ (UBound($PDFfiles) + 1) ][2]
[/autoit] -
Ist alles aus der Hilfe übernommen, das Gedöns drumherum weggelöscht und schon bleibt dieses schöne Bsp. übrig.

-
Löschen kannst du immer alles

Windows installiert auch nur sofort nach, z.B. notepad.exe - wenn du die löscht oder mit einer anderen Datei ersetzen willst, wird sofort das Original aus dem 'Hinterhalt' wieder drübergebügelt
-
Suchst du nicht eigentlich eher sowas: http://www.winfaq.de/faq_html/Conte…p?h=tip1510.htm ?
-
Hast du denn auch gelesen, welche Funktion der DLL das bewirken soll?
Ich kann in dieser DLL keine Funktion finden, die irgendwas mit CreateFolder zu tun hat.Funktionen der SHDOCVW.DLL
Code
Alles anzeigenAddUrlToFavorites DllCanUnloadNow DllGetClassObject DllGetVersion DllInstall DllRegisterServer DllRegisterWindowClasses DllUnregisterServer DoAddToFavDlg DoAddToFavDlgW DoFileDownload DoFileDownloadEx DoOrganizeFavDlg DoOrganizeFavDlgW DoPrivacyDlg HlinkFindFrame HlinkFrameNavigate HlinkFrameNavigateNHL IEWriteErrorLog ImportPrivacySettings SHAddSubscribeFavorite OpenURL SHGetIDispatchForFolder SetQueryNetSessionCount SetShellOfflineState SoftwareUpdateMessageBox URLQualifyA URLQualifyW -
Falls er das meint - die Control-ID wird doch nicht benötigt.
Ein CLASSNAME ist vorhanden und eine INSTANCE.
Einfach anstatt der ID, wie folgt einsetzen:
"[CLASS:Classname; INSTANCE:Nummer]"
Classname und Nummer der Instance aus dem Infotool. -

Nur Fragezeichen - ich habe nicht die geringste Ahnung, was du willst. 
-
Hiermit kannst du Doppelklick auswerten, die nicht benötigten Funktionen auskommentieren.
In der Funktion _ListDblClick() legst du dann fest, was passieren soll, also den markierten Eintrag auslesen und weiterverarbeiten.Spoiler anzeigen
[autoit]#include <GUIListBox.au3>
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("List Box Create", 400, 296)
[/autoit] [autoit][/autoit] [autoit]
$hListBox = _GUICtrlListBox_Create ($hGUI,"", 2, 2, 396, 296)
GUISetState()GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Until GUIGetMsg() = $GUI_EVENT_CLOSEFunc WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
If Not IsHWnd($hListBox) Then $hWndListBox = GUICtrlGetHandle($hListBox)
$hWndFrom = $ilParam
$iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
$iCode = BitShift($iwParam, 16) ; Hi WordSwitch $hWndFrom
[/autoit]
Case $hListBox, $hWndListBox
Switch $iCode
Case $LBN_DBLCLK ; Sent when the user double-clicks a string in a list box
_ListDblClick()
Case $LBN_ERRSPACE ; Sent when a list box cannot allocate enough memory to meet a specific request
_ListErrSpace()
Case $LBN_KILLFOCUS ; Sent when a list box loses the keyboard focus
_ListKillFocus()
Case $LBN_SELCANCEL ; Sent when the user cancels the selection in a list box
_ListSelCancel()
Case $LBN_SELCHANGE ; Sent when the selection in a list box has changed
_ListSelChange()
Case $LBN_SETFOCUS ; Sent when a list box receives the keyboard focus
_ListSetFocus()
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND -
Laß dir mal beim Schreibvorgang die Fehlerart ausgeben:
[autoit]If _FileWriteFromArray($Path, $aFile, 1) = 1 Then
[/autoit]
MsgBox(0, '', 'Ferddisch :-)')
Else
Switch @error
Case 1
MsgBox(0, '', 'Fehler beim Öffnen der Datei')
Case 2
MsgBox(0, '', 'Input ist kein Array ')
Case 3
MsgBox(0, '', 'Fehler beim Schreiben in die Datei')
EndSwitch
EndIfOb du " oder ' verwendest ist Geschmackssache. Nur nicht mixen

Wenn du in einem String Gänsefüßchen verwenden möchtest mußt du ihn mit Hochkomma einschließen (oder umgekehrt, wie du willst).
z.B. 'Das ist ja eine "tolle" Sache' <== So ist gewährleistet, dass es ein String bleibt. -
Der Code ist soweit OK - aber vergiß call ganz schnell

Funktionsaufruf mit: abort() -
[autoit]
#include <File.au3>
[/autoit][autoit][/autoit][autoit]Global $Path = "xxx.list", $aFile
[/autoit]
Global $append = 'C:\temp\'
$aFile = _FileReadToArray($Path, $aFile)
If Not IsArray $aFile Then Exit MsgBox(0, '', 'Datei konnte nicht gelesen werden!')
For $i = 1 To UBound($aFile) -1
If $aFile[$i] <> '' Then $aFile[$i] = $append & $aFile[$i]
Next
FileMove($Path, $Path & '.BAK', 1) ; bestehende Datei sichern
If _FileWriteFromArray($Path, $aFile, 1) = 1 Then
MsgBox(0, '', 'Ferddisch :-)')
Else
MsgBox(0, '', 'Fehler beim Rückschreiben der Datei')
EndIf -
-
Na das brauch ich für ein script

Das du damit keinen Kuchen backen willst, war klar
Welches Ziel verfolgst du mit dem Skript? Ohne das zu wissen, ist es schwer Hilfestellung zu geben. -
oder geht das anders besser?
Ja,

Hol dir die Inhalte z.B. mit _IEBodyReadText aus der IE.au3, nutze die Excel-UDF um die Daten mit Autoit direkt in das Tabellenblatt zu schreiben. -
Hmm, dann habe ich Google versehentlich für etwaws seriöses gehalten, kommt nicht wieder vor
