Hämta data från skyddad arbetsbok


Behöver vi använda oss av arbetsbokskydd och samtidigt vill hämta data från källan får vi öppna arbetsboken, hämta data och slutligen stänga arbetsboken.

Försöker vi öppna arbetsboken via t ex ADO erhålls felmeddelande då ADO inte kan läsa den krypterade filen och det erbjuds ingen lösenord-parameter för att öppna arbetsboken i detta sammanhang.

Nedanstående exempel belyser hur vi hämtar data från en skyddad arbetsbok i VB 6.0.
 

Option Explicit

 Private Sub Get_Data_Protected_Workbook_Click()

   '© 2004 Alla rättigheter XL-Dennis

  Dim xlApp As Excel.Application

  Dim xlBook As Excel.Workbook

  Dim xlSheet As Excel.Worksheet

  Dim vaData As Variant

  Dim i As Integer

 

  Set xlApp = New Excel.Application

 

  'Öppnar arbetsboken mha lösenord.

  Set xlBook = xlApp.Workbooks.Open( _

      FileName:="e:\Arbetsmaterial\Skyddad.xls", _

      Password:="Demo")

 

  Set xlSheet = xlBook.Worksheets("Blad1")

 

  'Läser in data till array.

  vaData = xlApp.WorksheetFunction.Transpose(xlSheet.Range("A2:B2").Value)

 

  'Tilldelar formulär-objekten data från array.

  For i = 1 To 2

    Me.Controls("lbl" & i).Caption = vaData(i, 1)

  Next i

 

  xlBook.Close

  xlApp.Quit

 

  Set xlSheet = Nothing

  Set xlBook = Nothing

  Set xlApp = Nothing

End Sub