Autor Thema: Excel Import  (Gelesen 10535 mal)

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Excel Import
« am: 15.02.11 - 10:13:47 »
.
« Letzte Änderung: 15.02.11 - 14:17:09 von Alperen15 »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Excel Import
« Antwort #1 am: 15.02.11 - 10:16:54 »
Hallo,

Kleine Frage zu Begin.

Wo setzt Du denn die row auf einen Wert?


Andreas

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #2 am: 15.02.11 - 10:18:58 »
Hallo Andreas...stimmt.... row = 2 müsste es dann sein weil in der ersten zeile sind die Überschriften....

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Excel Import
« Antwort #3 am: 15.02.11 - 10:19:23 »
Den selben Agent haben wir doch schon hier breitgetreten!?!
http://atnotes.de/index.php/topic,50428.msg323829.html#msg323829
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #4 am: 15.02.11 - 10:20:57 »
jep den Agent habe ich gelöscht und schief gings auch noch am besten neu anfangen  ;) mit m kühlen kopf

Offline CarstenB

  • Aktives Mitglied
  • ***
  • Beiträge: 193
  • Geschlecht: Männlich
Re: Excel Import
« Antwort #5 am: 15.02.11 - 10:55:41 »
Wo setzt Du denn die row auf einen Wert?

Wenn du die row gesetzt hast, funktioniert es. Oder bekommst du weitere Fehler?

Gruß
Carsten

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #6 am: 15.02.11 - 11:01:49 »
.
« Letzte Änderung: 15.02.11 - 14:17:24 von Alperen15 »

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Excel Import
« Antwort #7 am: 15.02.11 - 11:04:29 »
Du brauchst keinen FileHandle, wenn Du Excel über OLE generierst!
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Excel Import
« Antwort #8 am: 15.02.11 - 11:07:26 »
siehe FreeFile

Jedoch frage ich mich, wie Du eine Excel-Datei mit Open aufbekommen willst, um mit Seek zu positionieren.

Lies mal die Designer-Hilfe zu den beiden Themen FreeFile und Seek.


Andreas

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #9 am: 15.02.11 - 11:11:53 »
.
« Letzte Änderung: 15.02.11 - 15:22:39 von Alperen15 »

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Excel Import
« Antwort #10 am: 15.02.11 - 11:18:13 »
Verwende Option Declare
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Excel Import
« Antwort #11 am: 15.02.11 - 11:19:19 »
Vermutlich soll da irgendwo noch ein
With xlSheet

stehen!
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Excel Import
« Antwort #12 am: 15.02.11 - 11:20:08 »
So wie ich das sehe entweder

Code
tmpKundennr = xlSheet.Cells( row, 1 ).Value 



oder

Code
With xlsheet
tmpKundennr = .Cells( row, 1 ).Value 

Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #13 am: 15.02.11 - 14:15:23 »
Hallo alle zusammen.

es funktioniert zu mindest soweit, dass ich den ersten Kunden anhand seiner Kundennummer finde und die Felder befülle. Allerdings ist es eine Endlosschleife. Aussenrum müsste ich eine Do-Schleife machen.

Gibt es so ein ähnliches Befehl wie z.B. view.GetNextDocumentByKey() ????

         'While Not(vdoc Is Nothing)
      While Not (vdoc Is Nothing)
         'Set doc = New NotesDocument(db)   
         vdoc.Form = "maKundenetikett"
         vdoc.fdLayout1 = .Cells( row, 2 ).Value                   
         vdoc.fdLayout2 = .Cells( row, 3 ).Value                 
         vdoc.fdLayout_Ende = .Cells( row, 4 ).Value       
         vdoc.fdPLPA = .Cells( row, 5 ).Value               
         vdoc.fdFSPS = .Cells( row, 6 ).Value               
         vdoc.fdPUNr = .Cells( row, 7 ).Value
         
         
         Call vdoc.save(False,True)   
         
         Set vdoc = view.GetNextDocument(vdoc)
         tmpKundennr = .Cells( row, 1 ).Value
         Set vdoc = view.GetDocumentByKey(tmpKundennr)
         
      Wend
   End With

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Excel Import
« Antwort #14 am: 15.02.11 - 15:15:03 »
Du stocherst doch nur wild im Nebel, ohne zu wissen, was Du da eigentlich machst. Was willst Du denn mit einer Schleife über Notes-Dokumente? Kannst Du uns das erklären?

Du musst doch vielmehr ... na, das *musst* Du selber wissen, sonst bringt unsere Unterstützung hier gar nichts. Beschreibe uns, was für eine Schleife Du brauchst, und dann ist unsere Hilfe auch wieder sinnvoll.

Bernhard

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #15 am: 15.02.11 - 15:18:32 »
meine Schleife soll in der Exceldatei die zweite zeile / 1.Spalte Kundennummer nehmen danach in der Ansicht suchen, dann die Felder befüllen. Danach in die 3. Zeile / 1.Spalte Kundennummer nehmen in der Ansicht nach dem Dokument suchen, Felder befüllen dann in die 4. Zeile usw....

Set vdoc = view.GetNextDocument(vdoc) ist Falsch von mir, weil ich in der Exceldatei die Kundennummer nehme und anhand dieser Nummer dann in der Ansicht suche...

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Excel Import
« Antwort #16 am: 15.02.11 - 15:25:07 »
Du musst die Zeilen hochzählen, angefangen hast Du ja schon mit row = 2

Denk noch daran, dass Du auch irgendwann wieder aufhören musst. Woran erkennst Du, dass die Tabelle zuende ist?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Excel Import
« Antwort #17 am: 15.02.11 - 15:26:27 »
Genau, geht doch  ;)

Also brauchst Du eine Schleife (ideal hier: Fox .. Next) über Deine Excel-Rows. Das Innenleben (suchen und miodifizieren des Notes-Dokumemnts) bleibt gleich.

A-Bär: Du musst unbedingt den Fall abdecken, dass Du in Excel einen Wert liest, der keine Entsprechung in der Notes-Datenbank hat.

Bernhard

PS: Besonders pfiffig war es jetzt nicht, dass Du Deine bisherigen Postings gelöscht hast.

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #18 am: 15.02.11 - 15:27:04 »
Erkennen tu ich es wenn tmpKundennummer = "" ist row = row +1 mache ich dann nachdem vdoc.save simmts?!

Offline Alperen15

  • Aktives Mitglied
  • ***
  • Beiträge: 203
  • Geschlecht: Weiblich
Re: Excel Import
« Antwort #19 am: 15.02.11 - 15:29:39 »
hier noch mal der aktuelle Stand

Sub Initialize   
   Dim session As New NotesSession
   Dim db As NotesDatabase   
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim rtitem As NotesRichTextItem, SendRtitem As NotesRichTextItem
   Dim itemReaders As NotesItem, itemReaders2 As NotesItem
   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, vIntLeser(3) As Variant
   Dim One As String,  xlFilename As String
   Dim cRechname As String, cPathname As String
   Dim tmpKundennr As String
   Dim vdoc As NotesDocument
   Dim   i As String
   Dim filenum As Integer
   Dim pathName As String
   Dim cFilename As String
   Dim PathFileName As String
   
   pathName$ = "E:\TestKUR\Excel\*"
   cFilename$ = Dir$(pathName$ & "*.xls", 0)
   PathFileName = "E:\TestKUR\Excel\" & cFilename$
   
   iWCount = 1
   
   Set db = session.CurrentDatabase
   Set Excel = CreateObject( "Excel.Application" )      
   
   '  *** ---------------------- öffnet Excel File ---------------------------
   Excel.Visible = False
   
   Excel.Workbooks.Open PathFileName
   Set xlWorkbook = Excel.ActiveWorkbook
      'Set xlSheet = xlWorkbook.Worksheets(1)
   
      ' *** Einzelverbindungsnachweis: Liest die relevanten Felder aus Zeile 2, erstellt ein Dokument und verschickt ein Mail mit Doclink
   Set xlSheet = xlWorkbook.ActiveSheet                          ' *** Nur ein Sheet - wird hier definiert
   row = 2      
   
   With xlSheet
      
      tmpKundennr = .Cells( row, 1 ).Value
      Set view = db.GetView ("vwKundennummer")
      Set vdoc = view.GetDocumentByKey(tmpKundennr)
      
      
      While Not (vdoc Is Nothing)
         tmpKundennr = .Cells( row, 1 ).Value
         Set vdoc = view.GetDocumentByKey(tmpKundennr)
         vdoc.Form = "maKundenetikett"
         vdoc.fdLayout1 = .Cells( row, 2 ).Value                   
         vdoc.fdLayout2 = .Cells( row, 3 ).Value                 
         vdoc.fdLayout_Ende = .Cells( row, 4 ).Value       
         vdoc.fdPLPA = .Cells( row, 5 ).Value               
         vdoc.fdFSPS = .Cells( row, 6 ).Value               
         vdoc.fdPUNr = .Cells( row, 7 ).Value
         
         Call vdoc.save(False,True)   
         row = row + 1
         
         ' tmpKundennr = .Cells( row, 1 ).Value
         ' Set vdoc = view.GetDocumentByKey(tmpKundennr)
         
      Wend
   End With 
NextDoc:
      ' *** Disconnecting from Excel...            
   xlWorkbook.Close False          
   Excel.Quit
   Set Excel = Nothing
   
EndeAlles:
      'Exit Sub
End Sub

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz