===============================================================================
=================   Matrix software protection system   =======================
=================                for                    =======================
=================  Microsoft EXCEL 32 bit Applications  =======================
===============================================================================
=================    Copyright (c) TDi GmbH - Germany   =======================
===============================================================================


Diese Datei enthlt Anweisungen fr das Einbinden des Matrix Kopierschutzsystems
in EXCEL 32 Bit. 

----------------- Grundstzliche Vorgenhesweise:

Excel enthlt Programmteile, die fr Endbenutzer unzugnglich sind. In diesen 
Programmteilen sollten Sie wichtige Funktionen zur Steuerung und Verwaltung 
Ihrer Tabellen hinterlegen. Innerhalb dieser Programmteile werden spter die 
Funktionen des Kopierschutzes eingefgt. Diese Funktionen korrespondieren dann 
mit dem aufgesteckten Matrix-Dongle. Ist der Dongle nicht aufgesteckt, wird die
EXCEL-Applikation  z. B. sofort beendet. Oder es passiert etwas anderes, was 
Sie zuvor festgelegt haben.

----------------- Beispiel:

   1. Erstellen Sie eine Kopie Ihrer Anwendung

   2. ffnen sie Ihre EXCEL-Anwendung

   3. ffnen Sie den Visual Basic Editor. 
      EXTRAS -- MACRO -- Visual Basic-Editor  (Hotkey Alt-F11)  

   4. Benutzen Sie unsere Datei Matrix.bas aus unserem Softwareverzeichnis 
      \Samples\VB  um zu verstehen, wie es in VB funktioniert.

   5. Wenn sie ein Demo-Modul benutzen, mssen Sie den UserCode nicht anpassen.
      Andernfalls ist es erforderlich, Ihren spezifischen UserCode anstelle des
      Demo-UserCodes einzutragen.

   6. Erstellen Sie jetzt im Editor Makrofunktionen, die fr Ihr Tabellenwerk 
      wichtig sind. 
      Wenn Sie dort bereits Code verwenden, knnen Sie auch diesen anpassen. 
      Wichtig ist am Ende, dass diese Funktionen nur dann richtig funktionieren,
      wenn der Matrix-Dongle aufgesteckt ist. Irgendwo innerhalb der Funktion 
      muss also ein Aufruf unserer Funktion 'Check_Matrix' stattfinden.

   7. Sie knnen die Domo-Datei die in \MATRIX\SAMPLES\VB benutzen. Entfernen 
      Sie die nicht erforderlichen Funktionen. Dann wird alles wesentlich 
      bersichtlicher.

   8. ndern Sie die Meldung  "Matrix device not found !"  in der Funktion 
      'Check_Matrix' so ab, wie es fr Sie passend ist. 

   9. Um EXCEL dann sofort zu beenden, kann das folgende Kommando in den Code 
      eingefgt werden: 
	  Application.DisplayAlerts = FALSE
          Application.Quit
      Das ist eine bewhrte Methode, die hufig benutzt wird.

  10. Jedes mal, wenn Sie eine wichtige Tabelle laden, sollte der Matrix-Dongle
      abgefragt werden. Ein Beispiel fr solch eine Subroutine:

          Sub Auto_Open
              Dim ret As Integer

              '--- Do this for all, but one named sheet in your   
              '--- workbook must be visible. It is important to keep 
              '--- in mind that at least one worksheet must be visible 
              '--- at all times or else Excel will display an error 
              '--- while attempting to execute a statement that hides 
              '--- the last remaining visible spreadsheet.
              Worksheets("SheetName2").Visible = xlSheetVisible
              Worksheets("SheetName1").Visible = xlSheetVeryHidden

              '--- Decide on desired action if missing some part of security
              On Error Goto End_Exit_Err   'Exit if MATRIX32.DLL not found

              '*** IMPORTANT STEP ***
              '--- Add tasks here to force device checking. You may wish to
              '--- make value assignments to cells referenced in formulas as
              '--- was done in the demonstration program above.

              ret = Check_Matrix          'Check if Matrix dongle is present
              If ret = 1 Then             'If we got here then it's ok to 
                 GoTo Ok_Run              'continue running the spreadsheet
              Else
                 GoTo End_Exit
              End If

          End_Exit_Err:
              MsgBox "MATRIX32.DLL not found !"
          End_Exit:
              '--- Optional - take whatever action you wish ---
              Application.DisplayAlerts = FALSE
              Application.Quit            'This forces Excel to quit

          Ok_Run:                         'Return from Auto_Open to 
                                          'fully operational spreadsheet

              '--- Optional - use this is the xlVeryHidden code was 
              '--- used above. Do this for every named sheet in your 
              '--- workbook. This forces the sheets to be visible.
              Worksheets("SheetName1").Visible = True 
              Worksheets("SheetName2").Visible = xlSheetVeryHidden

          End Sub


  11. Schlieen Sie den VB-Editor und kehren zu EXCEL zurck (Hotkey Alt-Q)
 
  12. Sollten Sie neue Funktionen erstellt haben, muss jetzt die Verbindung 
      zu Ihren Tabellen berprft werden. Sollten sie lediglich die Matrix-
      Funktionen in vorhandenen VB-Code eingefgt haben, muss wahrscheinlich 
      nichts in den Tabellen angepasst werden. 

  13. Sichern und berprfen sie Ihre Anwendung, ob alles so funktioniert, 
      wie es soll. Mit und ohne Kopierschutz.  

  14. Sie knnen die Sicherheit noch erhhen, wenn Sie aus dem Code ein AddIn 
      erzeugen. 
	
  15. Um die einzelnen Zellen der Tabelle zu schtzen, knnen die Attribute 
      'gesperrt' oder 'ausgeblendet' zugewiesen werden. Der Endanwender sollte 
      mglichst wenig Rechte haben. 
      Bei 'gesperrt' lassen sich noch die Formeln sehen, bei 'ausgeblendet' 
      kann der Endanwender die Zellen nicht mehr sehen. 
      Vorgehen:  FORMAT -- ZELLEN -- SCHUTZ  
      oder auch  EXTRAS -- SCHUTZ -- BLATT SCHTZEN (Kennwort)
      Geben Sie ein Passwort ein.

  16. Verstecken Sie den VB Makrocode, damit er schwer zu finden ist.
      EXTRAS -- MACRO -- VB-Editor (HotKey=AltF11)
      Setzen Sie die Eigenschaften von VB Macro code auf 'ausgeblendet'. 
      Vergeben sie ein Kennwort, das aber nicht abhanden kommen darf!

      Sichern!

  17. Eine weitere Methode, die EXCEL anbietet, ist beim 
      SPEICHERN UNTER -- EXTRAS -- ALLGEM. OPTIONEN 
      Kennworte oder read only-Attribute einzugeben. 
      Bitte berprfen Sie, inwieweit dies sinnvoll fr Ihre Applikation ist.

  18. Beachten sie bitte, dass in EXCEL immer ein Blatt sichtbar sein muss. 
      Gerade wenn Sie das Attribut 'xlVeryHidden' verwenden. Andernfalls kann 
      es zu Funktionsstrungen kommen.

-------------------------------- * ENDE * -------------------------------------

   