Keresés

Új hozzászólás Aktív témák

  • batagy

    őstag

    Sziasztok!

    Tudnátok légyszi segíteni?

    Excelt speciális Visual Basic kóddal használjuk. Windows 7 és Office 2016 kombinációval jól működik.
    Windows 10-en azonban hibát kapunk.

    A Macro engedélyezve van, és nem jogosultsági problémára gyanakszok.

    Ezt a hibát kapom az Excel megnyitásakor:
    Microsoft Visual Basic for Applications
    Compile error:
    User-defined type not defined

    A VBA editor erre a kódrészletre ugrik:

    Option Explicit

    Private myDOMDocument As New DOMDocument
    Private myRoot As IXMLDOMElement
    Private myValidation As IValidation
    Private myIsError As Boolean

    Én nem tudok Visual basicban programozni. De ezt találtam. Próbálnék egy Set-et beállítani, de akkor meg "Invalid Outside procedure" hibát kapok. Viszont nem tudom, hogyan illesszem eljárásba.

    Tudnátok-e segíteni az eredeti hibánál?

    Köszönet!

    [ Szerkesztve ]

  • batagy

    őstag

    válasz sztanozs #3019 üzenetére

    Szia!

    Köszönet! Tényleg, igazad volt!
    A tipped alapján csekkoltam az XML-t a VBA Referenciákban.

    Ez látható alapból:

    Ha az XML 6.0-ás verzióvól kiveszem a pipát, és berakom a 3.0-ás XML-t, akkor már működik, nincs hibaüzenet.

    Neten keresve ezt és ezt találtam, ami ide vonatkozik.

    "On the other hand Microsoft XML, v3.0 exposes DomDocument, DomDocument26 and DomDocument30; version is 6.30.8250.0

    With other versions of Windows, like 7 and XP, both msxml3.dll and msxml6.dll expose DomDocument, DomDocument30 and DomDocument60, among others."

    Ha jól értem, kétféle megoldás lehet?
    1) A referenciát átírni XML 3.0-ra minden ilyen Excel fájlban? De ez hosszú távon, lehet hogy nem célravezető.
    2) A DomDocument interface-t átírni olyanra hogy msxml6.dll-tal is kompatiblis legyen?

    Olyanra kellene megírni, hogy Win7 gépeken is fusson és kvázi (a userek számára) visszafelé is kompatibilis legyen.

    Köszönet!

    2)

  • batagy

    őstag

    válasz sztanozs #3021 üzenetére

    Az az érdekes egyébként, hogy mind Win7-n, mind Win10-en is a Microsoft XML, v6.0” (C:\Windows\System32\msxml6.dll ) van behivatkozva az Excel fájlban, de csak Win7-en működik.

    A két dll verzió eltér:
    Win10:
    -------
    C:\Windows\System32\msxml3.dll
    MSXML 3.0
    Microsoft XML Core Services
    8.110.16299.15

    C:\Windows\System32\msxml6.dll
    MSXML 6.0
    Microsoft XML Core Services
    6.30.16299.98

    Win7:
    -----

    C:\Windows\System32\msxml3.dll
    MSXML 3.0 SP11
    Microsoft(R) MSXML 3.0 SP11
    8.110.7601.23648

    C:\Windows\System32\msxml6.dll
    MSXML 6.0 SP3
    Microsoft(R) MSXML 6.0 SP3
    6.30.7601.24000

    Tehát, a msxml6.dll újabb verziójában már módosulhattak az interface-ek. Ez lehetséges?

    Az csak egy workaround, hogy msxml3.dll-lel működik Win10-en.

    Kösz

Új hozzászólás Aktív témák