2013-05-26 22 views
11

Stworzyłem prostą bazę danych Excel, która wykonuje kilka funkcji makr i muszę rozprowadzić tę bazę danych do kilku osób - ale nie widzą, jak działa funkcja makra (głupie zasady, które muszę przestrzegać!). Jaki jest najlepszy sposób, aby to osiągnąć?Najlepszy sposób na zabezpieczenie kodu Excel VBA?

Zrobiłem trochę badań i znalazłem dwa sposoby:

  • zabezpieczyć hasłem projektu VBA; ale jest to najwyraźniej bardzo łatwe do złamania przy użyciu łatwo dostępnych narzędzi online (byłoby to w najlepszym interesie ludzi, których wysyłam, aby dowiedzieć się, jak działają makra i funkcje, więc jestem prawie w 100% pewien, że spróbują aby dostać się do niego .. stąd ochrona hasłem wydaje przeciętny

  • Przenieś do w pełni skompilowany języka jak C++;. moje umiejętności są bardzo ograniczone do VBA w Excel i Access więc to jest idealne rozwiązanie, nie jest rozwiązanie dla mnie :(

Czy są jakieś inne sposoby? myślałem o „mistrza excel dokumentu” z wszystkich makr w tym i następnie wysłać baz 'dzieci do th e użytkownicy końcowi i czy bazy danych "dzieci" łączą się z "wzorcem" - czy jest to możliwe? Hostując mistrza w trybie online, a nawet wysyłając do użytkownika końcowego, ale czyni go całkowicie niedostępnym, chyba że dostęp do bazy danych "dzieci"?

+3

zatrudnić prawnika, by stworzyć i dostarczyć wskazówek na temat egzekwowania w EULA. Osoba wystarczająco inteligentna może otworzyć * dowolne * pudełko, które mu się podaje - wymaga czasu i wysiłku. (Obfuscators i tym podobne tylko zwiększają czas/wysiłek z zamiarem, że będzie to znacznie przekraczało korzyści.) – user2246674

+0

Sprawdź VSTO, aby utworzyć dodatki, a następnie użyj ClickOnce, aby je wdrożyć. –

+1

Sprawdź http://hivelink.io, umożliwia tworzenie arkusza kalkulacyjnego interfejsu użytkownika bez obliczeń i łatwe definiowanie wejść/wyjść w celu połączenia ich z bazą danych za pomocą uwierzytelniania itd. Napisałem obszerny post tutaj: http://stackoverflow.com/questions/16363621/protecting- W skoroszycie-kod-in-excel/28968867 # 28968867 – stuzor

Odpowiedz

4

Można utworzyć dodatek do automatyzacji.

Automatyka Dodaj W zapewnia kilka korzyści

  • Szybkość realizacji: AN Automatyka Dodaj W napisany w VB6 jest kompilowany do natywnego kodu maszynowego, który działa znacznie szybciej niż interpretowane VBA languange.

  • Zabezpieczenia: W przeciwieństwie do dodatku XLA nigdy nie rozpowszechniasz kodu źródłowego dla użytkowników końcowych. Jeśli Twój kod zawiera zastrzeżone informacje lub wartość intelektualną, pozostaje ona bezpiecznie chroniona na twoim własnym komputerze w . Nigdy nie jest dystrybuowany do użytkownika. Twój kod może być nigdy nie zostanie naruszony.

http://www.cpearson.com/excel/automationaddins.aspx

+5

vb6 jest przestarzały. Zamiast tego polecam VSTO :) –

+0

A co z problemami ze zgodnością? Przechodzę teraz przez dokumentację VSTO, ale jeśli miałbyś szybką odpowiedź, która byłaby niesamowita. - Czy dodatki typu VSTO obsługują starsze wersje pakietu Office? - Czy obsługuje on wersję MAC pakietu Office/Open Office? – Chronix3

+1

@ Chronix3 Zasugerowałem Automation Add in In bcoz składnia jest podobna do VBA i może być wykonana szybciej. Spróbuj. Chociaż VB6 jest przestarzały, ale nadal działa. – Santosh