Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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
Inhaltsverzeichnis

VBA Kompatibilität V11-V9

VBA Kompatibilität V11-V9
Andreas
Hallo,
ich habe gerade mit Erschrecken festgestellt, dass es offenbar Abwärtskompatibilitätsproblemchen zwischen Excel11 und Excel9 gibt. Wenn ich ein Programm in Excel11 speichere, läuft es auf Excel9 nicht mehr, Excel schmier völlig ab, sobald der Code aktiv wird (was dummerweise workbook_open ist). Es handelt sich um ein Add-In mit Klassenmodul sowie workbook_open-Ereignis-Workbooks, die das AddIn lasen.
Gibt es in VBA irgendwas a la "Speichern für Version xx"?
Danke für eure Hilfe,
Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Und nun... ?
16.02.2010 21:37:56
Ramses
Hallo
Hast du mal ein Code-Beispiel ?
"...ein Programm in Excel11 speichere..."
Woher soll E9 wissen, was E11 alles kann ?
Volle Abwärtskompatibilität ist unmöglich
Gruss Rainer
AW: VBA Kompatibilität V11-V9
16.02.2010 22:22:26
Uduuh
Hallo,
immer in der niedrigsten Version entwickeln. Dann ist man halbwegs auf der sicheren Seite (wie das in XL12 entfallene FoundFiles-Objekt zeigt)
Gruß aus’m Pott
Udo

FileSearch-Object :-),... allerdings
16.02.2010 22:24:29
Ramses
Hallo Uwe
... bringt es in diesem Fall nichts in der niederen Version zu entwickeln, weil es die höhere Version aus unerfindlichen Gründen nicht mehr versteht :-)
Gruss Rainer
Anzeige
uuhps
16.02.2010 22:32:02
Uduuh
Hallo Rainer,
womit du völlig Recht hast (im Gegensatz zu meinem Namen ;-)))
Gruß aus’m Pott
Udo

Mea culpa. Sorry :-) Helau und Alaaaaf :-) o.w.T.
16.02.2010 22:47:40
Ramses
...
OT @Ramses : Uwe oder Udo ? - Egal,....
16.02.2010 22:32:20
NoNet
...am Fasching-Diensttag ;-)
Gruß, NoNet
AW: VBA Kompatibilität V11-V9
16.02.2010 23:43:29
Andreas
Ja liebe Leute, alles in v9 entwickelt, einmal in v11 gespeichert (und das war nur ein Kommentar, den ich geändert habe), schon geht es nichtmehr.
Code-Beispiel.. gern, wenn ich wüsste welches, aber alles wäre ein bisschen viel.
im workbook_open steht jedenfalls:
Application.AddIns("myaddin").Installed = True
und im AddIn Workbook_AddInInstall folgendes:
Private Sub Workbook_AddinInstall()
Dim ctlNewMenu As CommandBarControl
Dim ctlNewGroup As CommandBarControl
Dim ctlNewItem As CommandBarControl
Dim oToolBar As CommandBar
Dim oToolBtn As CommandBarButton
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("NewMenu"").Delete
Application.CommandBars("Toolbar").Delete
On Error GoTo 0
'Add Menu item
Set ctlNewMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, , , _
9)
ctlNewMenu.Caption = "&NewMenu"
Set ctlNewItem = ctlNewMenu.Controls.Add(Type:=msoControlButton)
With ctlNewItem
.Caption = "&Help"
.OnAction = "showHelp"
.FaceId = 926
.BeginGroup = True
End With
' Create Toolbar
Set oToolBar = Application.CommandBars.Add("Toolbar", msoBarFloating, False, True)
Set oToolBtn = oToolBar.Controls.Add
With oToolBtn
.Caption = "Last10"
.TooltipText = "Calculates last 10 data entries"
.OnAction = "LastTen"
End With
oToolBar.Visible = True
End Sub
Soweit für mich nichts auffälliges... zudem aber folgendes (wobei ich irgendwie den Verdacht hab, dass da der Wurm drinsteckt:)
Im workbook_open des addins:
Set cEvents.xlapp = Application
wobei in einem Modul steht:
Public cEvents As New clsEvents

Das Klassenmodul clsEvents ist:
Public WithEvents xlapp As Excel.Application
Private Sub xlapp_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
Dim iAnz As Byte
Dim i As Byte
Set Wb = ActiveWorkbook
On Error Resume Next
'For Add-In, do not do all that following stuff, just let it be closed by event
If Right(Wb.name, 3) = "xla" Then Exit Sub
' protect wkb
If isSPCwkb(Wb) Then
ProtectRFSPC Wb
Wb.Save
End If
' do it long-winded: the events occurs when workbook is going to be closed. we close the  _
workbook
' manually and cancel the event
Application.enableEvents = False
If isSPCwkb(Wb) Then
Wb.Close False
Else
Wb.Close
End If
Application.enableEvents = True
Cancel = True
' count workbooks
iAnz = 0
For i = 1 To Workbooks.Count
If isSPCwkb(Workbooks(i)) Then
iAnz = iAnz + 1
End If
Next i
' uninstall Add-In
If iAnz = 0 Then Application.AddIns("myaddin").Installed = False
End Sub

Achja, in v11 speichern, in v9 kompilieren und speichern geht auch nicht, die liebe Fehlermeldung lautet "Workbook Not Saved!".
Viele Grüße und schönen Karneval, hier 7000km westlich gibt es das nicht ;)
Andreas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige