Upload to Sharepoint

Technical support and scripting issues

Moderators: Dorian (MJT support), JRL

Post Reply
fakerr
Newbie
Posts: 3
Joined: Tue Aug 17, 2010 12:09 pm

Upload to Sharepoint

Post by fakerr » Tue Aug 17, 2010 12:14 pm

Hi guys,
first, sorry for my bad english. I have some question for my Script. I have to modify a Macro but i dont know how to do that.

Code: Select all


VBSTART
Sub AB_Liste_Pivot
  Dim xlApp, xlBook, Sourcebook, AB_Book, pf, RowVon, RowBis, Gebiet, Worksheet
  Dim xlQuelle, xlDaten, KW, Jahr, FSO, folder
  
  Jahr = DatePart("yyyy",Date,2,2)   '** das aktuelle Jahr ermitteln
  KW = DatePart("ww",Date,2,2)    '** die aktuelle Kalenderwoche ermitteln

  Set xlApp = CreateObject("Excel.Application")   '** Excel als Anwendung deklarieren
  xlApp.visible = true
  
  Set FSO = CreateObject("Scripting.FileSystemObject")   '** FileSystemObject deklarieren
  Set folder = FSO.CreateFolder("C:\AB-Listen-Projekt\AB-Listen\" & "KW " & KW & "." & Jahr)

  strPathVorlage = "C:\AB-Listen-Projekt\AB-Liste-Vorlage.xls"  '** Pfad zur AB-Vorlage Datei
  strPathQuelle = "C:\AB-Listen-Projekt\AUFB02"  '** Pfad zur oxaion Quelldatei
  Set AB_Book = xlApp.Workbooks.open(strPathVorlage) '** Vorlage öffnen
  Set SourceBook = xlApp.Workbooks.open(strPathQuelle)
  Set xlQuelle = SourceBook.Worksheets(1)

  RowVon=2
  Gebiet = xlQuelle.Cells(RowVon, 11)
  xlQuelle.columns("T:U").numberformat="#,##0.00"
  xlQuelle.columns("K:K").numberformat="000"
  xlQuelle.Range("D:D").Replace " ", ""
  xlQuelle.Range("X:X").Replace " ", ""

  Set r = xlQuelle.UsedRange  'stellt die Anzahl der benutzten Zeilen fest
  xlApp.ScreenUpdating = False

  For Row = 2 To r.Rows.Count + 1 '--- loopt durch die gesamte Tabelle
    If xlQuelle.Cells(Row, 11) <> Gebiet Then

      RowBis = Row - 1
      Von = "A" & RowVon
      Bis = "X" & RowBis

	  Set AB_Book = xlApp.Workbooks.open(strPathVorlage) 'Vorlage öffnen
	  xlApp.ActiveWorkbook.SaveAs(folder & "\AB-Liste - Gebiet " & Gebiet & ".xls")
      Set xlGebiet = xlApp.Workbooks("AB-Liste - Gebiet " & Gebiet & ".xls")
      xlQuelle.Activate
	  xlQuelle.Range("A" & RowVon, "Y" & RowBis).Copy
	  xlGebiet.Activate
	  Set xlDaten = xlGebiet.Worksheets("Daten")
	  xlDaten.Activate
	  xlDaten.Range("A2").Select
	  xlDaten.Paste

      Set xlPivot = xlGebiet.Worksheets("ABs nach Kunde")
	  xlPivot.Activate
      xlPivot.Range("B4").Select
      xlPivot.PivotTables("PivotTable1").pivotCache.Refresh
      xlPivot.PivotTables("PivotTable1").PivotFields("Kundenname").CurrentPage = "(Alle)"
      xlPivot.PivotTables("PivotTable1").PivotFields("Kundenname").PivotItems("(Leer)").Visible = False
      'xlPivot.ShowPivotTableFieldList = False
      xlGebiet.Close True
	  xlQuelle.Activate
      Gebiet = xlQuelle.Cells(Row, 11)
      RowVon = RowBis + 1
      If xlQuelle.Cells(RowVon, 11) = "" Then Exit For

    End If
    

  Next
  xlApp.ScreenUpdating = True
  SourceBook.Close False
  xlApp.quit
  Set xlApp = Nothing
  End Sub

VBEND
Thats the Script. It makes Round about 20 Files from 1 File. Now i have to modify it. The Script have to Upload the Files automaticly to our Sharepoint.

Someone know how to modify it? Pls help me! If you want to have more Informations just ask!

Best regards!

adroege
Automation Wizard
Posts: 438
Joined: Tue Dec 07, 2004 7:39 pm

Post by adroege » Tue Aug 17, 2010 1:32 pm

The Script have to Upload the Files automaticly to our Sharepoint.

If I understand you correctly, then it seems you just have to FTP the files to your sharepoint server?

Check out the FTP commands..... ie. FTPPutFile, etc.

fakerr
Newbie
Posts: 3
Joined: Tue Aug 17, 2010 12:09 pm

Post by fakerr » Wed Aug 18, 2010 6:08 am

Ok sorry i forgot to write that its such more.
I have to Upload the "Gebiete 1-20" to our Sharepoint. There are folders like "Gebiet 1" "Gebiet 2" ...

Here is my try:

Code: Select all

Sub AB_Liste_Pivot
  Dim xlApp, xlBook, Sourcebook, AB_Book, pf, RowVon, RowBis, Gebiet, Worksheet
  Dim xlQuelle, xlDaten, KW, Jahr, FSO, folder
  
  Jahr = DatePart("yyyy",Date,2,2)   '** das aktuelle Jahr ermitteln
  KW = DatePart("ww",Date,2,2)    '** die aktuelle Kalenderwoche ermitteln

  Set xlApp = CreateObject("Excel.Application")   '** Excel als Anwendung deklarieren
  xlApp.visible = true
  
  Set FSO = CreateObject("Scripting.FileSystemObject")   '** FileSystemObject deklarieren
  Set folder01 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G01\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder02 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G02\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder03 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G03\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder04 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G04\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder05 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G05\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder06 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G06\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder07 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G07\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder09 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G09\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder13 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G13\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder14 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G14\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder16 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G16\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder18 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G18\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder19 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G19\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  Set folder20 = FSO.CreateFolder("\\laborintranet\vertrieb\ProduktKundeGebiet\Gebiete\G20\Auswertungen\AB-Listen\2010\" & "KW " & KW & "." & Jahr)
  
  

  strPathVorlage = "C:\AB-Listen-Projekt\AB-Liste-Vorlage.xls"  '** Pfad zur AB-Vorlage Datei
  strPathQuelle = "C:\AB-Listen-Projekt\AUFB02"  '** Pfad zur oxaion Quelldatei
  Set AB_Book = xlApp.Workbooks.open(strPathVorlage) '** Vorlage öffnen
  Set SourceBook = xlApp.Workbooks.open(strPathQuelle)
  Set xlQuelle = SourceBook.Worksheets(1)

  RowVon=2
  Gebiet = xlQuelle.Cells(RowVon, 11)
  xlQuelle.columns("T:U").numberformat="#,##0.00"
  xlQuelle.columns("K:K").numberformat="000"
  xlQuelle.Range("D:D").Replace " ", ""
  xlQuelle.Range("X:X").Replace " ", ""

  Set r = xlQuelle.UsedRange  'stellt die Anzahl der benutzten Zeilen fest
  xlApp.ScreenUpdating = False

  For Row = 2 To r.Rows.Count + 1 '--- loopt durch die gesamte Tabelle
    If xlQuelle.Cells(Row, 11) <Gebiet>AB_Liste_Pivot

But my next Problem is: When there isnt one "Gebiet" for example "Gebiet 3" is missing or there is a "Gebiet" that i havent declared, i get an error and the Program stop.

If there is any other Way, pls reply me.

Thank you!

adroege
Automation Wizard
Posts: 438
Joined: Tue Dec 07, 2004 7:39 pm

Post by adroege » Wed Aug 18, 2010 11:07 am

i get an error and the Program stop.

The following "on error resume next" statement will make the program keep going.

Code: Select all

Sub AB_Liste_Pivot
  On Error Resume Next

  ' the rest of your code continues here


Post Reply
Sign up to our newsletter for free automation tips, tricks & discounts