Avatar billede Kentoi Seniormester
05. december 2018 - 09:08 Der er 11 kommentarer

Add-Ins forsvinder i Excel 2016

Hejsa.
Jeg har her i mit firma en lille opgave. Opgaven lyder ganske enkelt at der for nogle år tilbage blevet lavet et lille VBA kode til Excel. Den gang var det til Excel 2007 eller 2010. Vi bruger i dag Office 365. Nu ligger det sådan at det add-ins ikon forsvinder fra excel under opstart, der er andre ikoner som ikke forsvinder, og som er "nabo" til mit ikon. Jeg kan godt tilføje den, men næste gang jeg starter excel er den ikke tilgænglig. Den er stadig markeret i Add-Ins i Excel, men den bliver bare ikke vist. Jeg har gennemsøgt google for løsninger, men de løsninger er for at "beholde" ikonet, men nabo ikoner forsvinder ikke, så jeg føler at det er selve koden der er årsagen til det, men jeg kan ikke gennemskue det og jeg håber at nogen her kan hjælpe mig.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim cb As CommandBars
Dim name As Variant
Dim j As Integer
Dim i As Integer

On Error Resume Next
Set cb = Application.CommandBars
For j = cb.Count To 1 Step -1
  If cb(j).name = "iSeries Access" Or cb(j).name = "Client Access" Then
        cb(j).Visible = False
        name = cb(j).name
        With cb(name)
            For i = .Controls.Count To 1 Step -1
                If .Controls(i).Caption = "Format BPCS Bill Of Material..." Then
                    .Controls(i).Delete
                    GoTo nn
                End If
                If .Controls(i).Caption = "Custom" Then
                    .Controls(i).Enabled = True
                    .Controls(i).Visible = True
                End If
                If .Controls(i).Caption = "&Dialog" Then
                    .Controls(i).Enabled = True
                    .Controls(i).Visible = True
                End If
nn:
            Next
        End With
        cb(j).Visible = True
        j = 1
    End If
Next
With cb("Data").Controls.Item("Transfer &Data To iSeries...")
    .Enabled = True
    .Visible = True
End With
With cb("Data").Controls.Item("T&ransfer Data From iSeries...")
    .Enabled = True
    .Visible = True
End With
Set cb = Nothing
End Sub


Private Sub Workbook_Open()

Dim ad As AddIns
Dim found As Boolean
Dim CBar As CommandBars
Dim Mbar As CommandBar
Dim CMbar As CommandBarControl
Dim i As Integer
Dim warn As Dialog
Dim j As Integer

Set CBar = Application.CommandBars

'On Error Resume Next

Set ad = Application.AddIns


'Application.DisplayAlerts = True

'found = False
found = True
Application.DisplayAlerts = True

'For i = ad.Count To 1 Step -1
'    If ad(i).name = "cwbtfcai.dll" Then
'        found = True
'        If ad(i).Installed = False Then
'            ad(i).Installed = True
'        End If
'        Exit For
'    End If
'Next

'Set ad = Nothing

If found = False Then
    warn = MsgBox("Couldn't find 'iSeries...' or 'Client Access Data Transfer' addin!", vbCritical + vbOKOnly)
    Application.AddIns("Simple_Excel_iSeries").Installed = False
    Workbooks("Simple_Excel_iSeries.xla").Close
Else
    For i = CBar.Count To 1 Step -1
        If CBar(i).name = "IBM i Access" Or CBar(i).name = "iSeries Access" Then
            Do
                If CBar(i).Visible = True Then
                    Exit Do
                End If
            Loop
            'CBar(i).Visible = False
            For j = 1 To CBar(i).Controls.Count
                With CBar(i).Controls(j)
                '    .Enabled = False
                End With
            Next
            With CBar(i).Controls.Add(Type:=msoControlButton, before:=1)
                .Caption = "Format BPCS Bill Of Material..."
                .OnAction = "Format_BPCS_Excel"
                .FaceId = 173
                .Visible = True
                .Enabled = True
            End With
            CBar(i).Visible = True
        End If
    Next
End If

'With CBar("Data").Controls.Item("Transfer &Data To iSeries...")
'    .Enabled = False
'End With
 
'With CBar("Data").Controls.Item("T&ransfer Data From iSeries...")
'    .Enabled = False
'End With
Set CBar = Nothing
Application.DisplayAlerts = False

End Sub


P.S. Hvordan pokker laver man indryk i koden så det er mere læsevenlig?
Avatar billede Mark H. Juniormester
05. december 2018 - 09:24 #1
[code]Virker code?[/code]

Kan det være fordi dele af dit script ikke understøttes i Office 365 mere?
Avatar billede Kentoi Seniormester
05. december 2018 - 09:33 #2
Mit P.S. blev gjort til skamme da jeg posted mit indlæg for det hele blev sat på plads i det øjeblik jeg oprettede mit indlæg. Preview viser det bare ikke. :)


Angående mit problem, det er meget muligt at koden ikke optimal til Office 365, jeg aner dog ikke hvad der skal tilrettes før det kommer til at virke. Det håber jeg nogen her kan være behjælpelig med.
Avatar billede Mark H. Juniormester
05. december 2018 - 09:43 #3
Virker dit Addin når du indsætter det første gang, men forsvinder når du åbner Excel igen? Hvis ja, prøv at åbne med Administrator rettigheder.
Avatar billede Kentoi Seniormester
05. december 2018 - 09:52 #4
Tænker du om jeg er lokal admin på min pc? For det er jeg.

1) Der sker det at jeg når jeg tilføjer den, så kan jeg se den.
2) Lukker Excel og åbner det igen. Jeg kan stadig se den.
3) Lukker Excel og åbner den igen. Nu kan jeg ikke se den.
Avatar billede Mark H. Juniormester
05. december 2018 - 09:59 #5
Gemmer du i fil formatet .xlsm ellers prøv det.
Avatar billede Kentoi Seniormester
05. december 2018 - 10:28 #6
Næ, det er i .xla format.

Hvad er .xlsm?
Avatar billede Kentoi Seniormester
05. december 2018 - 10:54 #7
Nå, fandt ud af at:

.xlsm er worksheet
.xla er Add-Ins

Jeg kan ikke indlæse filen efter at have omdøbt den til xlsm. Da jeg ikke kan se nogen muligheder for at gemme filen i xlsm.
Avatar billede Mark H. Juniormester
05. december 2018 - 11:17 #8
Hmm, det sidste forsøg kunne være dit anti virus program, som fjerner det. Har du McAfee - kan se flere klager over det.
Avatar billede Kentoi Seniormester
05. december 2018 - 11:48 #9
Nope.
Jeg er ret sikker på at det ligger i koden, for jeg kan jo godt af 2 omgange se ikonet.
Avatar billede Kentoi Seniormester
06. december 2018 - 10:19 #10
Jeg vil lade spørgsmålet står åbent så andre kan fiske.
Håber at nogen der kan hjælpe.
Avatar billede bak Seniormester
24. december 2018 - 13:17 #11
Har haft samme problem. Endte med at kopiere koden over i et friskt nyt ark, gemme den som XLAM fil, og så fungerede det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester