Anzeige
Archiv - Navigation
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Addin "Automatisch speichern" Einstellung ändern

Addin "Automatisch speichern" Einstellung ändern
09.07.2007 10:02:11
Stefan

Hallo zusammen,
Vielleicht hat jemand von Euch eine Idee zu folgendem Problem:
Ich habe nachfolgendes Addin laufen. Das hab eich selbstverständlich nicht selbst erstellt! :-)
Es gibt Standardmäsig vor, dass alle 10 Minuten gespeichert wird und erst nachgefragt werden soll, ob gespeichert werden soll. Wenn man Änderungen vornimmt und Excel schliesst dann sind die Änderungen weg. Konkret: Ich möchte, dass standardmässig alle 1 Minuten gespeichert wird, und das ohne nachzufragen.
Weiß jemand wie der Code anzupassen ist?
Vielen Dank im voraus und Viele Grüße
Stefan


Const SZREGPATH As String = "Software\Microsoft\Office\8.0\Excel\"
Const HKEY_CLASSES_ROOT As Long = &H80000000
Const HKEY_CURRENT_USER As Long = &H80000001
Const HKEY_LOCAL_MACHINE As Long = &H80000002
Const HKEY_USERS As Long = &H80000003
Const ERROR_SUCCESS As Long = 0&
Const ERROR_FILE_NOT_FOUND As Long = 2&
Const ERROR_INVALID_HANDLE As Long = 6&
Const ERROR_NO_ACCESS As Long = 998&
Const REG_SZ As Long = 1&
Const REG_DWORD As Long = 4&
Private Declare Function D893SD93V& Lib "ADVAPI32" Alias "RegOpenKeyA" (ByVal hkeyOpen&, ByVal  _
szSubKey$, ByRef hkeyResult&)
Private Declare Function Z38B15G& Lib "ADVAPI32" Alias "RegCreateKeyA" (ByVal hkeyOpen&, ByVal  _
szSubKey$, ByRef hkeyResult&)
Private Declare Function CI38X3jb& Lib "ADVAPI32" Alias "RegQueryValueExA" (ByVal hkey&, ByVal  _
szValueName$, ByVal lReserved&, ByRef lType&, ByVal sValue$, ByRef lcbData&)
Private Declare Function R329BXX2& Lib "ADVAPI32" Alias "RegQueryValueExA" (ByVal hkey&, ByVal  _
szValueName$, ByVal lReserved&, ByRef lType&, ByRef lValue&, ByRef lcbData&)
Private Declare Function M38b3325Bz& Lib "ADVAPI32" Alias "RegQueryValueExA" (ByVal hkey&,  _
ByVal szValueName$, ByVal lReserved&, ByRef lType&, ByVal vNull As Any, ByRef lcbData&)
Private Declare Function XX348HJKL& Lib "ADVAPI32" Alias "RegCloseKey" (ByVal hkey&)
Private Declare Function VC839NBmC& Lib "ADVAPI32" Alias "RegSetValueExA" (ByVal hkey&, ByVal  _
szValueName$, ByVal dwReserved&, ByVal lType&, ByVal sValue$, ByVal lcbData&)
Private Declare Function B3139Jsx2& Lib "ADVAPI32" Alias "RegSetValueExA" (ByVal hkey&, ByVal  _
szValueName$, ByVal dwReserved&, ByVal lType&, ByRef lValue&, ByVal lcbData&)
Private Function X39f0392vv(szSection$, szKey$, Optional vDefaultValue As Variant) As Variant
On Error GoTo lbl_Error
If IsMissing(vDefaultValue) Then vDefaultValue = CVErr(xlErrNA)
Dim hkey&, lResult&, lcbValue&, szValue$, lValue&
lResult& = D893SD93V&(HKEY_CURRENT_USER, SZREGPATH & szSection$, hkeyXL5&)
If lResult& <> ERROR_SUCCESS Then
RegGetXLValue = vDefaultValue
Exit Function
End If
lResult& = M38b3325Bz&(hkeyXL5&, szKey$, 0&, lType&, 0&, lcbValue&)
If lResult& <> ERROR_SUCCESS Then
RegGetXLValue = vDefaultValue
Exit Function
End If
If lType& = REG_SZ Then
szValue$ = String$(lcbValue&, " ")
lResult& = CI38X3jb&(hkeyXL5&, szKey$, 0&, lType&, szValue$, lcbValue&)
If lResult& <> ERROR_SUCCESS Then
RegGetXLValue = vDefaultValue
Exit Function
End If
RegGetXLValue = Left$(szValue$, lcbValue& - 1)
ElseIf lType& = REG_DWORD Then
lValue& = 0
lResult& = R329BXX2&(hkeyXL5&, szKey$, 0&, lType&, lValue&, lcbValue&)
If lResult& <> ERROR_SUCCESS Then
RegGetXLValue = vDefaultValue
Exit Function
End If
RegGetXLValue = lValue&
End If
lResult& = XX348HJKL&(hkeyXL5&)
If lResult& <> ERROR_SUCCESS Then
RegGetXLValue = vDefaultValue
Exit Function
End If
Exit Function
lbl_Error:
RegGetXLValue = vDefaultValue
End Function
Private Function zRg12583927(szSection$, szKey$, Value As Variant) As Variant
Dim hkey&, lResult&, lcbValue&, szValue$, lValue&
' Open XL5 registry key, create if it doesn't already exist
lResult& = Z38B15G&(HKEY_CURRENT_USER, SZREGPATH & szSection$, hkeyXL5&)
If lResult& <> ERROR_SUCCESS Then
zRg12583927 = CVErr(xlErrNA)
Exit Function
End If
If TypeName(Value) = "String" Then
lType& = REG_SZ
Value = Value & Chr$(0)
lcbValue& = Len(Value)
lResult& = VC839NBmC&(hkeyXL5&, szKey$, 0&, lType&, CStr(Value), lcbValue&)
' NOTE: REG_DWORD code below doesn't really work
ElseIf TypeName(Value) = "Integer" Or TypeName(Value) = "Long" Then
lType& = REG_DWORD
lcbValue& = 4
lValue& = CLng(Value)
lResult& = B3139Jsx2&(hkeyXL5&, szKey$, 0&, lType&, lValue&, lcbValue&)
Else
Value = CStr(Value)
lType& = REG_SZ
Value = Value & Chr$(0)
lcbValue& = Len(Value)
lResult& = VC839NBmC&(hkeyXL5&, szKey$, 0&, lType&, CStr(Value), lcbValue&)
End If
If lResult& <> ERROR_SUCCESS Then
zRg12583927 = CVErr(xlErrNA)
Exit Function
End If
' Close the XL5 reg key
lResult& = XX348HJKL&(hkeyXL5&)
If lResult& <> ERROR_SUCCESS Then
zRg12583927 = False
Exit Function
End If
End Function
Private Function RegGetXLInt(szSection$, szKey$, Optional vDefaultValue) As Integer
Dim vValue As Variant, iValue As Integer
vValue = X39f0392vv(szSection$, szKey$, vDefaultValue)
On Error Resume Next
RegGetXLInt = CInt(vValue)
End Function


14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Addin "Automatisch speichern" Einstellung ände
09.07.2007 11:23:08
Matthias L
Hallo
bei mir geht das so, ist das in Office 2003 jetzt anders ?
Userbild
Gruß Matthias

AW: Addin "Automatisch speichern" Einstellung ände
09.07.2007 11:42:50
Stefan
Hallo Matthias,
die Bedienung des Addins und die Änderung der Einstellung auf Anwendungsebene ist nicht die Frage.
Das Problem ist, dass die Änderungen der Einstellungen über die Anwendungsebene nicht permanent sind. Ich brauche es aber unbedingt permanent - daher ist wohl der weg über den VBA-Code nötig.
Danke trotzdem.
Stefan

sorry, hab mich noch nie mit Addins befasst
10.07.2007 12:37:09
Matthias L
Hallo Stefan
Da muss ich passen, ich hab mich noch nie mit Addins befasst
Userbild

Anzeige
AW: sorry, hab mich noch nie mit Addins befasst
10.07.2007 12:59:53
Stefan
hat denn niemand sonst ne idee?

AW: sorry, hab mich noch nie mit Addins befasst
10.07.2007 16:52:36
schauan
Hallöchen,
wieso ist die Änderung auf Anwenderebene nicht permanent? Ich habe bei mir 5 Minuten stehen ...

Hoffe geholfen zu haben Grüße von André aus Gera - Stadt der Buga 2007 - Excel-97-2003




AW: sorry, hab mich noch nie mit Addins befasst
10.07.2007 16:58:10
Stefan
Hi,
Während du mit der Datei arbeitest bleibt die änderung natürlich.
Aber sobald du Excel schliesst sind deine Änderungen weg!!
Es werden immer die Standard-Einstellungen 10 Minuten und Nachfragen gesetzt.
Das möchte ich anders.
HILFEE!
Stefan

Anzeige
AW: sorry, hab mich noch nie mit Addins befasst
10.07.2007 16:58:22
Stefan
Hi,
Während du mit der Datei arbeitest bleibt die änderung natürlich.
Aber sobald du Excel schliesst sind deine Änderungen weg!!
Es werden immer die Standard-Einstellungen 10 Minuten und Nachfragen gesetzt.
Das möchte ich anders.
HILFEE!
Stefan

AW: sorry, hab mich noch nie mit Addins befasst
10.07.2007 17:04:22
schauan
Hallöchen,
ich schließe Excel mehrmals täglich.

Hoffe geholfen zu haben Grüße von André aus Gera - Stadt der Buga 2007 - Excel-97-2003




AW: sorry, hab mich noch nie mit Addins befasst
10.07.2007 17:09:11
schauan
... und noch ein Tip. Ändere die Einstellung unter Menü | Exrtras | Optionen | Speichern.

Hoffe geholfen zu haben Grüße von André aus Gera - Stadt der Buga 2007 - Excel-97-2003




Anzeige
CRACKS - Bitte helft mir!
10.07.2007 17:24:28
Stefan
Also bei mir sind auf jeden Fall nach dem Schließen die Einstellungen weg.
Dein Tipp mit dem "Menü | Exrtras | Optionen | Speichern" ist ein anderes Thema, da es hier und die Auto-Wiederherstellen-Datei geht. Bei dem Makro geht es um das "echte" speichern der Datei!
Stefan

AW: CRACKS - Bitte helft mir!
10.07.2007 20:18:28
schauan
... wenn Du meinst. Wenn das in Deinem bisherigen code alle 10 Minuten ging dann ändere das doch einfach auf 1 Minute.
Fehlermeldungen unterdrückst Du mit Application.DisplayAlerts=False

Hoffe geholfen zu haben Grüße von André aus Gera - Stadt der Buga 2007 - Excel-97-2003




Anzeige
AW: CRACKS - Bitte helft mir!
11.07.2007 08:59:41
Stefan
Ich habe zu Beginn geschrieben, dass ich das Addin nicht selbst geschrieben habe. Im VBA-Code kann ich die Einstellung nicht finden, sonst würde ich ja nicht hier reinposten.
Danke für Deine Lösungsgedanken, aber sei mir bitte nicht böse, wenn ich sage, dass Du mir nicht weiterhelfen kannst.

AW: CRACKS - Bitte helft mir!
11.07.2007 17:23:27
schauan
... wenn Du meinst.
Aber anscheinend bin ich da nicht alleine sonst hättest Du wohl schon eine Antwort. Wo der code etwas mit dem Speichern zu tun hat wird wohl kaum einer nachvollziehen können. Ich will das mal nicht generell ausschließen dass es so ist - Du hast da bestimmt eine Wirkung gemerkt. Ich teste so was undurchsichtiges bei mir nicht, API's usw. verwende ich nur aus gesicherten Quellen.
Der code fuhrwerkt irgendwo wild in der Registry, wo der Bezug zum Speichern sein soll weiß der Kuckuck. In den wenigen Kommentaren steht irgendwo was von XL5, kann ja sein, dass es auch unter XL11 läuft.
Wenn ich ein Workbook speichern will kann ich das auch mit ... save und wenn es periodisch sein soll dann baue ich ein Application.OnTime dazu. Da brauche ich nicht die Registry zu zerpflücken.

Hoffe geholfen zu haben Grüße von André aus Gera - Stadt der Buga 2007 - Excel-97-2003




Anzeige
AW: CRACKS - Bitte helft mir!
11.07.2007 09:00:13
Stefan
Ich habe zu Beginn geschrieben, dass ich das Addin nicht selbst geschrieben habe. Im VBA-Code kann ich die Einstellung nicht finden, sonst würde ich ja nicht hier reinposten.
Danke für Deine Lösungsgedanken, aber sei mir bitte nicht böse, wenn ich sage, dass Du mir nicht weiterhelfen kannst.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige