Autor Thema: Excellsheets in notes importieren  (Gelesen 3517 mal)

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Excellsheets in notes importieren
« am: 02.12.10 - 13:13:24 »
Hallo alle zusammen,

ich bitte jetzt schon im vorraus für Geduld :) Ich habe eine Excelldatei mit 5 Sheets in den jeweiligen Sheets sind diverse Kundennummer/Kunden und mit 40 Feldern die befüllt sind. Ich habe bereits eine Teilmaske erstellt mit den Feldern die befüllt werden sollen. Allerdings habe ich bisher mit Excellsheets nie gearbeitet.

Der Agent soll den ersten Sheet öffnen je nach Kundennummer in der Ansicht nach der Nummer suchen. Dann die nächste Zeile/Kundennummer lesen in der Ansicht suchen und die Felder befüllen...so bald er fertig ist den nächsten Sheet öffnet und das selbe tun bis es keine Sheets mehr gibt....

Meine Frage hier. Wie gehe ich vorran? wonach muss ich suchen? Ich bin für jede Hilfe sehr sehr dankbar :)

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Excellsheets in notes importieren
« Antwort #1 am: 02.12.10 - 13:44:54 »
Hallo,

Bei einer Suche hier im Forum nach "Excel import" fand sich unter anderem auch dies.

Import


Andreas
« Letzte Änderung: 02.12.10 - 13:49:11 von ascabg »

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excellsheets in notes importieren
« Antwort #2 am: 06.12.10 - 13:38:50 »
also hab jetzt mal im Forum nach geschaut, bis jetzt sieht es so aus

Sub Initialize   
   Dim session As New NotesSession
   Dim db As NotesDatabase   
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim filenum As Integer, iZaehler As Integer, pos As Integer     
   Dim filename As String, i As String, xlFilename As String
   Dim object As NotesEmbeddedObject
   Dim row As Integer, written As Integer ,iWCount As Integer
   Dim colsum As Currency, colsum2 As Currency, colval As Currency, colname As Currency
   Dim Excel As Variant, xlWorkbook As Variant, xlSheet As Variant
   Dim pathName As String
   Dim cPathname As String
   Dim cFilename As String
   Dim PathFileName As String
   Dim vdoc As NotesDocument
   Dim tmpKundennr As String
   
   Set db=session.CurrentDatabase   
   Set view = db.GetView ("vwKundeKur")
   Set doc = New NotesDocument(db)   
   
   pathName$ = "E:\TestKUR\Excel\*"
   cFilename$ = Dir$(pathName$ & "*.xls", 0)
   PathFileName = "E:\TestKUR\Excel\" & cFilename$
   
   Set Excel = CreateObject( "Excel.Application" )   
   '  *** ---------------------- öffnet Excel File ---------------------------
   Excel.Visible = False
   Excel.Workbooks.Open PathFileName
   Set xlWorkbook = Excel.ActiveWorkbook
   Set xlSheet = xlWorkbook.Worksheets
   
   Forall xlSheets In xlWorkbook.Worksheets             ' *** Bearbeitet alle Sheets in der Excelfile(xlWorkbook)
      xlSheets.activate                                                        ' *** Holt das aktuelle Worksheet in Bearbeitung
      

      Set xlSheet = xlWorkbook.ActiveSheet                          ' *** Nur ein Sheet - wird hier definiert
      
      iWCount =iWCount + 1
   End Forall
   colname = 1
   colval = 1
   'colsum = 0
   'colsum2 = 0
   row = 2      
   'With xlSheet
   
   Open PathFileName For Input As filenum
   Seek fileNum,1   
   
   Do Until Eof (filenum)                                
      Line Input #filenum, i
      If i = "" Then
         Goto EndeAlles         
      End If
      
      tmpKundennr = .Cells( row, 1 ).Value                      '*** Kundennummer zwischenspeichern   
      Set vdoc = view.GetDocumentByKey(tmpKundennr)
      While Not(vdoc Is Nothing)
         
         doc.fdLayout1 = .Cells( row, 2 ).Value                  ' *** Layout1
         doc.fdLayout2 = .Cells( row, 3 ).Value                  ' *** Layout2
         doc.fdLayoutEnde = .Cells( row, 4 ).Value           ' *** LayoutEnde
         doc.fdPLPA = .Cells( row, 5 ).Value                       ' *** PLPA
         doc.fdFSPS = .Cells( row, 6 ).Value                      ' *** FSPS
         doc.fdPUNr = .Cells( row, 7 ).Value                       ' *** PUNr
         
         'Call FillFields(vdoc,i)  
         Call vdoc.save(False,True)   
         'End With      
         Goto NextDoc   
      Wend
      
NextDoc:
      ' *** Disconnecting from Excel...            
      xlWorkbook.Close False          
      Excel.Quit
      Set Excel = Nothing
   Loop
ErrorNext:
   Resume Next
ErrorPrint:   
   Resume Next
EndeAlles:
   Exit Sub
End Sub


dass ich hier noch viele Fehler drinnen habe ist mir klar. Ich habe es mir so vorgestellt von der logik. öffne die Excell-Datei lies dir die erste Zeile. Die 1.Spalte ist die Kundennumemr(also mein key) nimm den key...gehe in die Ansicht suche nach dem key und befülle die Felder und abspeichern. Lies dir die zweite Zeile nimm den key und such nochmal in der Ansicht und das solange bis der 1. Sheet fertig ist.


Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excellsheets in notes importieren
« Antwort #3 am: 06.12.10 - 13:41:49 »
die erste Fehlermeldung bekomme ich hier

Open PathFileName For Input As filenum

illegal file number .... die Datei hat er aber laut debugger gefunden?!

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Excellsheets in notes importieren
« Antwort #4 am: 06.12.10 - 13:47:01 »
Du solltest filenum auch noch einen Wert zuweisen. Designerhilfe, Kapitel "FreeFile function".
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz