[Gelöst] Exceldatei ändern über Aufgabenwarteschlange

Bild Microsoft Dynamics NAV 2018

[Gelöst] Exceldatei ändern über Aufgabenwarteschlange

Beitragvon Miles1980 » 4. Juli 2019 10:54

Hi,

ich würde gerne eine bestehende Exceldatei verändern.
Aber automatisiert ĂĽber die Ausgabewarteschlange. Nicht ĂĽber den Excel Buffer sondern ĂĽber DotNet Elemente.

Der Code funktioniert wenn ich DotNet auf RunoOnClient = YES habe.
Bei No funktioniert das leider nicht

XlApp DotNet Microsoft.Office.Interop.Excel.ApplicationClass.'Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
XlWrkBk DotNet Microsoft.Office.Interop.Excel.Workbook.'Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
XlWrkBks DotNet Microsoft.Office.Interop.Excel.Workbooks.'Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
XlWrkSht DotNet Microsoft.Office.Interop.Excel.Worksheet.'Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
XlRange DotNet Microsoft.Office.Interop.Excel.Range.'Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
XlHelper DotNet Microsoft.Dynamics.Nav.Integration.Office.Excel.ExcelHelper.'Microsoft.Dynamics.Nav.Integration.Office, Version=11.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
XlShts DotNet Microsoft.Office.Interop.Excel.Worksheet.'Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'



Code: Alles auswählen
act_zeile := 3;

filepath_server := '\\fileserver\Company\1\1.xlsx';

XlApp := XlApp.ApplicationClass;

XlWrkBk := XlHelper.CallOpen(XlApp,filepath_server);

XlWrkSht := XlWrkBk.Worksheets.Item('xxx');

XlWrkSht.Range('B' + FORMAT(act_zeile) , 'B' + FORMAT(act_zeile)).Value := 'Neuer Wert';

XlWrkBk.Save;
XlWrkBk.Close(TRUE,filepath_server,TRUE);
XlHelper.CallQuit(XlApp);
XlApp.Quit;

CLEARALL;
CLEAR(XlHelper);
CLEAR(XlApp);
CLEAR(XlWrkBk);
CLEAR(XlWrkSht);
CLEAR(XlRange);



Fehler:
Fehler.PNG


Die Datei ist aber ĂĽber den NAV Dienst erreichbar und das Dienstkonto hat auch Zugriff.

Hat da jemand eine Idee?

Danke!
Zuletzt geändert von Miles1980 am 4. Juli 2019 19:58, insgesamt 1-mal geändert.
Miles1980
 
Beiträge: 4
Registriert: 4. Juli 2019 10:31
Realer Name: Michael
Arbeitsort: Melle
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018

Re: Exceldatei ändern über Aufgabenwarteschlange

Beitragvon fiddi » 4. Juli 2019 11:14

Hallo,

die OfficeInterop- Objekte benötigen so viel ich weis ein funktionierendes Office auf dem Rechner. Außerdem gibt es, soweit ich weiß, ein Problem, wenn diese Komponenten von einem Dienst benutzt werden sollen (mal suchen mit google/bing)

Ich benutze fĂĽr solche Zwecke "ClosedXML", das ohne office auskommt.

GruĂź Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7096
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: Exceldatei ändern über Aufgabenwarteschlange

Beitragvon Miles1980 » 4. Juli 2019 11:18

Hi,

danke fĂĽr die schnelle Antwort.
Office ist installiert. In der gleichen Version wie es auf dem Client ist wo es funktioniert. Das ist es leider nicht.
Das mit dem Dienst suche ich gleich mal....

Hast du mal ein Beispiel fĂĽr das "ClosedXML" ?

Danke.
Miles1980
 
Beiträge: 4
Registriert: 4. Juli 2019 10:31
Realer Name: Michael
Arbeitsort: Melle
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018

Re: Exceldatei ändern über Aufgabenwarteschlange

Beitragvon fiddi » 4. Juli 2019 11:58

Hallo,
Hast du mal ein Beispiel fĂĽr das "ClosedXML" ?


Google/Bing sind deine besten Freunde in diesem Fall.

Die Umsetzung ist, soviel ich weiĂź aber fast 1:1 es sind nur andere Variablennamen.

GruĂź Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7096
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: Exceldatei ändern über Aufgabenwarteschlange

Beitragvon Miles1980 » 4. Juli 2019 12:08

ok... ich mach mich mal auf die Suche :-D

Der HinweiĂź mit dem Fehler im Dienst war echt gut.... bin jetzt ein StĂĽck weiter.

Jetzt kommt der Fehler:
Fehler_neu.PNG


laut debugger hier:

Code: Alles auswählen
XlWrkSht := XlWrkBk.Worksheets.Item('xxx');
Dateianhänge
Fehler_neu.PNG
Miles1980
 
Beiträge: 4
Registriert: 4. Juli 2019 10:31
Realer Name: Michael
Arbeitsort: Melle
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018

Re: Exceldatei ändern über Aufgabenwarteschlange

Beitragvon fiddi » 4. Juli 2019 12:21

Hallo,

der Server kann glaube ich auch kein COM mehr.

GruĂź Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7096
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: Exceldatei ändern über Aufgabenwarteschlange

Beitragvon Miles1980 » 4. Juli 2019 19:57

Habe es dann doch noch gelöst :-D :-D

Code: Alles auswählen

filepath_server := '\\fileserver\Company\1.xlsx';

XlApp := XlApp.ApplicationClass;

XlWrkBk := XlHelper.CallOpen(XlApp,filepath_server); // Hier wichtig... Auf dem Server muss der Ordner "Desktop" angelegt werden (siehe Anlage - am besten beide :))

XlHelper.ActivateSheet(XlWrkBk,'Tabelle1');

XlWrkSht := XlWrkBk.Worksheets;

XlRange := XlApp.Range('C1','C1');
XlRange.Value2 := FORMAT(CURRENTDATETIME);

XlWrkBk.Save;
XlWrkBk.Close(TRUE,filepath_server,TRUE);
XlHelper.CallQuit(XlApp);
XlApp.Quit;

CLEARALL;
CLEAR(XlHelper);
CLEAR(XlApp);
CLEAR(XlWrkBk);
CLEAR(XlWrkSht);
CLEAR(XlRange);



Leider beendet er auf dem Server nicht immer die Excelinstanz... da hat man schnell viele Instanzen zusammen :-?
Dateianhänge
dir.png
Miles1980
 
Beiträge: 4
Registriert: 4. Juli 2019 10:31
Realer Name: Michael
Arbeitsort: Melle
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2018


ZurĂĽck zu NAV 2018

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron