PMS32 Online- Hilfereferenz

MY.FUNCTIONS.EXCELXML

ExcelXml - EXCEL Ausgabe via XML


Hilfe: EXCEL via XML
Ausgabe eines EXCEL Sheets via XML


Code: EXCEL via XML
*/ Inhalt der Datei ExcelXml.Define

*/ Das Ausgabeverzeichnis der EXCEL - XML Dateien
cExcelDir = My.Clients.Path.cDocDir

*/ Wann soll EXCEL gestertet werden? .NULL. - Nach Vorgabe, .T. - Immer oder .F. - nie
*/ Siehe auch lStartExcel in den Funktionen:
*/ ExcelOut...()
lStartExcelWhen = .NULL.

*/ Bitte beachten Sie auch die Einstellung in Excel.Define!
lTransferWithXml = .T.

Memberliste von ExcelXml


Liste der Methoden von ExcelXml


ArrayFromCursors() - Export-Array aus den angegebenen Cursor erstellen

Rückgabe:[Object], Gibt ein Objekt mit den angegebenen Informationen zurück
Hilfeinformation
Diese Funktion wird nur dann benötigt, wenn man selbst das Array zur Ausgabe erzeugen bzw. überarbeiten möchte!

Aufrufinformation
Object = My.Functions.ExcelXml.ArrayFromCursors(taArray , tcAliases AS String , tcDbfs AS String, tlChangeField AS Boolean)
Object = My.Functions.ExcelXml.ArrayFromCursors(taArray,tcAliases,tcDbfs,tlChangeField)
Codeinformation
*/ Die Extended Versions...
LOCAL laArray[1] , nCursors AS Integer , cFilename AS String , lBoolean AS Boolean

*/ Der Dateiname...
cFilename = 'c:\tmp\MeinExtendedExcelFile-1.xml'

*/ Die Daten...
*/ Die B01
SELECT artnr AS _Artikelnummer_,idb01 AS _idb01,bez,ekbr,eknet,eknet1,t1_ezu,lsgut,ndatum FROM (My.Clients.PATH.cDbfDir+'b01.dbf') ;
	WHERE artnr="SIE.3TH" ORDER BY artnr INTO CURSOR qB01 NOFILTER READWRITE
*/ Die D03
SELECT qB01._Artikelnummer_,d03.* FROM qB01 INNER JOIN (My.Clients.PATH.cDbfDir+'d03.dbf') ON qB01._idb01 = d03.idb01 ;
	ORDER BY qB01._Artikelnummer_,d03.idc61,d03.menge INTO CURSOR qD03 NOFILTER READWRITE
*/ Die D05
SELECT qB01._Artikelnummer_,d05.* FROM qB01 INNER JOIN (My.Clients.PATH.cDbfDir+'d05.dbf') ON qB01._idb01 = d05.idb01 ;
	ORDER BY qB01._Artikelnummer_,d05.idc61,d05.idc98 INTO CURSOR qD05 NOFILTER READWRITE

*/ Erstellen des Arrays
nCursors = My.Functions.ExcelXml.ArrayFromCursors(@laArray,'qB01;qD03;qD05','B01;D03;D05'])
*/ Hier sollte nCursors = 3 sein!

FOR n = 1 TO nCursors
	*/ nCursor = 0, wenn kein Array erzeugt werden konnte
	WITH laArray[n] AS Object
		.cAlias		=> [C] - Alias des Cursors
		.cSheetName	=> [C] - Name des Excel- Sheets
		.nColumns	=> [N] - Anzahl der Spalten im Excel Sheet = Anzahl der Zeilen in .aArray[]
		.nRows		=> [N] - Anzahl der Datensätze im Cursor (.cAlias) RECCOUNT()+1
		.nRecCount	=> [N] - Anzahl der Datensätze im Cursor
		.aArrayCount=> [N] - Anzahl der Zeilen in .aArray[]
		.aArray		=> [A] .aArray[n,12] - Array, dass die Spalten - Informationen des entsprechenden Cursors enthält
			.aArray[n,1]	=> [C] - Feldname
			.aArray[n,2]	=> [C] - Feldtyp, CMVQW;NYFBI;DT;L => Sondertypen: B1-B5
			.aArray[n,3]	=> [N] - Size
			.aArray[n,4]	=> [N] - Decimals
			.aArray[n,5]	=> [L] - Null erlaubt?
			.aArray[n,6]	=> [L] - NOCPTRANS
			.aArray[n,7]	=> [C] - Alias.Feldname
			.aArray[n,8]	=> [C] - Dbf.Feldname, falls eine Liste mit Tabellen angegeben wurde
			.aArray[n,9]	=> [C] - Excel-Style: vfp<Feldtyp>m|o : m-Hintergrund-Gelb | o-Hintergrund-weis : IIF(.aArray[5],'m','o')
			.aArray[n,10]	=> [C] - Expression zum erzeugen des Feldinhalts
			.aArray[n,11]	=> [C] - Caption, Spaltenüberschrift
			.aArray[n,12]	=> [C] - Excel-Feldtyp: Number;String;DateTime;Boolean
ENDWITH
NEXT n

*/ Der weitere Aufbau des Arrays ist oben beschrieben (Beide Methoden tun das Gleiche!)
lBoolean = My.Functions.ExcelXml.ExcelOutCursorExt(cFilename,@laArray[,lStartExcel])
lBoolean = My.Functions.ExcelXml.ExcelOutCursorsExt(cFilename,@laArray[,lStartExcel])

ArrayFromGrid() - Ein Array für den Export von Datenraster erstellen

Rückgabe:[Integer], Ermittelt die 'sichtbaren' Spalten des Grids und gibt die COunt des Arrays zurück. Das Array hat den 'gleichen' Aufbau wie ArrayFromCursor()!
Hilfeinformation
Interne Funktion

Aufrufinformation
Integer = My.Functions.ExcelXml.ArrayFromGrid(taArray , toGrid AS GRID)
Integer = My.Functions.ExcelXml.ArrayFromGrid(taArray,toGrid)
Codeinformation


ExcelOutCursor() - Einen Cursor via XML ausgeben

Ausgabe eines Cursors nach EXCEL - XML
Hilfeinformation
Ausgabe eines VFP-Cursors via EXCEL - XML

Aufrufinformation
Variant = My.Functions.ExcelXml.ExcelOutCursor(tcExcelFile AS STRING,tcAlias AS STRING,tcDbf AS STRING,tlStartExcel AS Boolean,tlChangeField AS Boolean)
Variant = My.Functions.ExcelXml.ExcelOutCursor(tcExcelFile,tcAlias,tcDbf,tlStartExcel,tlChangeField)
Codeinformation
*/ Beispiel: (My) ist bekannt!

LOCAL llDone AS Boolean , lcFile AS String

lcFile = "c:\tmp\MeineExcelDatei-1.xml"

*/ Erzeugen eines Cursors...
SELECT artnr,idb01,bez,ekbr,eknet,eknet1,t1_ezu,lsgut,ndatum ;
	FROM (My.Clients.PATH.cDbfDir+'b01.dbf') WHERE artnr="SIE.3TH" ;
	ORDER BY artnr ;
	INTO CURSOR qB01 NOFILTER READWRITE

llDone = My.Functions.ExcelXml.ExcelOutCursor(m.lcFile,"QB01","B01")


ExcelOutCursorExt() - Ausgabe via XML aus dem Array heraus

Ausgabe eines Cursors nach EXCEL - XML (extended) Erweiterte Version incl. Array[n,12]
Hilfeinformation
Ausgabe eines VFP-Cursors via EXCEL - XML unter Angabe des Arrays

Aufrufinformation
n,12 = My.Functions.ExcelXml.ExcelOutCursorExt(tcExcelFile AS STRING,taArray,tlStartExcel AS Boolean)
n,12 = My.Functions.ExcelXml.ExcelOutCursorExt(tcExcelFile,taArray,tlStartExcel)
Codeinformation
*/ Beispiel: (My) ist bekannt

LOCAL llDone AS Boolean , lcFile AS String , laArray[1] , lnLen AS Number

lcFile = "c:\tmp\MeineExcelDatei-2.xml"

*/ Erzeugen eines Cursors...
SELECT artnr,idb01,bez,ekbr,eknet,eknet1,t1_ezu,lsgut,ndatum ;
	FROM (My.Clients.PATH.cDbfDir+'b01.dbf') WHERE artnr="SIE.3TH" ;
	ORDER BY artnr ;
	INTO CURSOR qB01 NOFILTER READWRITE

lnLen = My.Functions.ExcelXml.ArrayFromCursors(@laArray,'qB01','B01')

IF m.lnLen>0
	*/ Das obige Array könnte man hier noch nacharbeiten...
	llDone = My.Functions.ExcelXml.ExcelOutCursorExt(m.lcFile,@laArray,.T.)
ENDIF




ExcelOutCursorPD() - Siehe ExcelOutCursor

Rückgabe:[Variant], Wie ExcelOutCursor jedoch mit Angabe einer DataSession
Hilfeinformation

Aufrufinformation
Variant = My.Functions.ExcelXml.ExcelOutCursorPD(tnDataSession AS NUMBER,tcExcelFile AS STRING,tcAlias AS STRING,tcDbf AS STRING,tlStartExcel AS Boolean,tlChangeField AS Boolean)
Variant = My.Functions.ExcelXml.ExcelOutCursorPD(tnDataSession,tcExcelFile,tcAlias,tcDbf,tlStartExcel,tlChangeField)
Codeinformation


ExcelOutCursors() - Ausgabe mehrerer Cursor via XML

Rückgabe:[Boolean], Ausgabe mehrerer Cursor in eine EXCEL - XML Datei. tcAliases und tcDbfs sind mit Semikolon getrennt.
Hilfeinformation
Ausgabe mehrerer VFP-Cursor via EXCEL - XML

Aufrufinformation
Boolean = My.Functions.ExcelXml.ExcelOutCursors(tcExcelFile AS STRING,tcAliases AS STRING,tcDbfs AS STRING,tlStartExcel AS Boolean,tlChangeField AS Boolean)
Boolean = My.Functions.ExcelXml.ExcelOutCursors(tcExcelFile,tcAliases,tcDbfs,tlStartExcel,tlChangeField)
Codeinformation
*/ Beispiel: (My) ist bekannt!

LOCAL llDone AS Boolean , lcFile AS String

lcFile = "c:\tmp\MeineExcelDatei-More-1.xml"

*/ Die B01
SELECT artnr AS _Artikelnummer_,idb01 AS _idb01,bez,ekbr,eknet,eknet1,t1_ezu,lsgut,ndatum FROM (My.Clients.PATH.cDbfDir+'b01.dbf') ;
	WHERE artnr="SIE.3TH" ORDER BY artnr INTO CURSOR qB01 NOFILTER READWRITE
*/ Die D03
SELECT qB01._Artikelnummer_,d03.* FROM qB01 INNER JOIN (My.Clients.PATH.cDbfDir+'d03.dbf') ON qB01._idb01 = d03.idb01 ;
	ORDER BY qB01._Artikelnummer_,d03.idc61,d03.menge INTO CURSOR qD03 NOFILTER READWRITE
*/ Die D05
SELECT qB01._Artikelnummer_,d05.* FROM qB01 INNER JOIN (My.Clients.PATH.cDbfDir+'d05.dbf') ON qB01._idb01 = d05.idb01 ;
	ORDER BY qB01._Artikelnummer_,d05.idc61,d05.idc98 INTO CURSOR qD05 NOFILTER READWRITE


llDone = My.Functions.ExcelXml.ExcelOutCursors(m.lcFile,"QB01;QD03;QD05","B01;D03;D05")

ExcelOutCursorsExt() - Ausgabe via XML aus dem Array heraus

Rückgabe:[Boolean], Wie ExcelOutCursors, jedoch wird das Array übergeben. Siehe auch THIS.ArrayFromCursors()
Hilfeinformation
Ausgabe mehrerer VFP-Cursor via EXCEL - XML unter Angabe des Arrays

Aufrufinformation
Boolean = My.Functions.ExcelXml.ExcelOutCursorsExt(tcExcelFile AS STRING,taArray,tlStartExcel AS Boolean)
Boolean = My.Functions.ExcelXml.ExcelOutCursorsExt(tcExcelFile,taArray,tlStartExcel)
Codeinformation
*/ Beispiel: (My) ist bekannt

LOCAL llDone AS Boolean , lcFile AS String , laArray[1] , lnLen AS Number

lcFile = "c:\tmp\MeineExcelDatei-More-2.xml"

*/ Die B01
SELECT artnr AS _Artikelnummer_,idb01 AS _idb01,bez,ekbr,eknet,eknet1,t1_ezu,lsgut,ndatum FROM (My.Clients.PATH.cDbfDir+'b01.dbf') ;
	WHERE artnr="SIE.3TH" ORDER BY artnr INTO CURSOR qB01 NOFILTER READWRITE
*/ Die D03
SELECT qB01._Artikelnummer_,d03.* FROM qB01 INNER JOIN (My.Clients.PATH.cDbfDir+'d03.dbf') ON qB01._idb01 = d03.idb01 ;
	ORDER BY qB01._Artikelnummer_,d03.idc61,d03.menge INTO CURSOR qD03 NOFILTER READWRITE
*/ Die D05
SELECT qB01._Artikelnummer_,d05.* FROM qB01 INNER JOIN (My.Clients.PATH.cDbfDir+'d05.dbf') ON qB01._idb01 = d05.idb01 ;
	ORDER BY qB01._Artikelnummer_,d05.idc61,d05.idc98 INTO CURSOR qD05 NOFILTER READWRITE

lnLen = My.Functions.ExcelXml.ArrayFromCursors(@laArray,'qB01;qD03;qD05','B01;D03;D05')

IF m.lnLen>0
	*/ Das obige Array könnte man hier noch nacharbeiten...
	llDone = My.Functions.ExcelXml.ExcelOutCursorsExt(m.lcFile,@laArray,.T.)
ENDIF




ExcelOutCursorsPD() - Siehe ExcelOutCursors

Rückgabe:[Variant], Wie ExcelOutCursors jedoch mit Angabe einer DataSession
Hilfeinformation

Aufrufinformation
Variant = My.Functions.ExcelXml.ExcelOutCursorsPD(tnDataSession AS NUMBER,tcExcelFile AS STRING,tcAliases AS STRING,tcDbfs AS STRING,tlStartExcel AS Boolean,tlChangeField AS Boolean)
Variant = My.Functions.ExcelXml.ExcelOutCursorsPD(tnDataSession,tcExcelFile,tcAliases,tcDbfs,tlStartExcel,tlChangeField)
Codeinformation


ExcelOutGrid() - Ausgabe eines Grids

Ausgabe eines Datenrasters nach EXCEL - XML
Hilfeinformation
Ausgabe eines Datenrasters (interne Methode)

Aufrufinformation
Variant = My.Functions.ExcelXml.ExcelOutGrid(tnWhat AS NUMBER,toGrid AS GRID,tlStartExcel AS Boolean)
Variant = My.Functions.ExcelXml.ExcelOutGrid(tnWhat,toGrid,tlStartExcel)
Codeinformation
*/ Wird eigentlich intern benötigt aber...

*/ Auch hier sollte My bekannt sein...

LOCAL llDone AS Boolean

*/ Ein freies Grid definieren
PUBLIC oGrid AS Grid

*/ Die Tabelle B01 öffnen und auf alle SIE.3TH filtern..
USE (My.Clients.Path.cDbfDir+'B01.DBF') SHARED
SET FILTER TO artnr="SIE.3TH"

*/ Ein BROWSE in die Variable oGrid (oGrid ist in dann ein Datenraster 'ähnlich' einem Grid in PMS32)
BROWSE FIELDS artnr,bez,ekbr,eknet,eknet1,t1_ezu,ndatum NAME oGrid NOWAIT

llDone = My.Functions.ExcelXml.ExcelOutGrid(1,m.oGrid)

ExcelOutGridNew() -

Ausgabe nach EXCEL via XML von neuen Datenraster
Hilfeinformation

Aufrufinformation
Variant = My.Functions.ExcelXml.ExcelOutGridNew(tnDataSession AS Interger,tnWhat AS NUMBER,toGrid AS GRID,tlStartExcel AS Boolean)
Variant = My.Functions.ExcelXml.ExcelOutGridNew(tnDataSession,tnWhat,toGrid,tlStartExcel)
Codeinformation


ExcelOutGridPD() - Siehe ExcelOutGrid

Rückgabe:[Boolean], Wie ExcelOutGrid() jedoch mit Angabe der Datensitzung
Hilfeinformation

Aufrufinformation
Boolean = My.Functions.ExcelXml.ExcelOutGridPD(tnDataSession AS Interger,tnWhat AS NUMBER,toGrid AS GRID,tlStartExcel AS Boolean)
Boolean = My.Functions.ExcelXml.ExcelOutGridPD(tnDataSession,tnWhat,toGrid,tlStartExcel)
Codeinformation


TransformValue() - Umsetzung eines Values in String

Rückgabe: [String], Transformation einer Variant in String
Hilfeinformation
Umwandeln eines beliebigen Values in einen String
Hinweis zu den Feldtypen, die in VFP in einer Tabelle/Cursor vorhanden sein können
      [C|V]            => Char / Varchar. Strings werden immer rechtsbündig getrimmt
      [M]                  => Memo / Langtext. Wird nicht getrimmt
      [Q|W]            => VarBinary/Blob. Sonderfelder (Zeichen)
      [NYFBI]      => Numerische Felder (+/-): Maximale Länge eines num. Feldes incl. Nachkommastellen: 16 Digits
      [N]                  => N(s,1). Num. Feld mit EINER Nachkommastelle (Prozentwerte)
      [Y]                  => Currency. Num. mit zwei Nachkommastellen
      [F]                  => F(s,3). Num. Feld mit drei Nachkommastellen (Mengen)
      [B]                  => B-Double. Num. Feld mit mehr als fünf oder Null Nachkommastellen

      */ Sonderfelder:
      [B1]-[B5]       => B-Double. Num. Feld mit 1-5 Nachkommastellen

      [I]                  => Integer. Ganzzahl ohne Nachkommastellen
      [DT]            => Date und DateTime. Bitte ein T-Feld in der PMS Datenbank in DATE und DATETIME auftrennen!
                              Beispiel: I41.DT1 [T]:
                                    CAST(TTOD(I41.DT1) AS D) AS D1_Datum , I41.DT1 AS D1_Zeit
                           Bei DateTime wird NUR der ZEITWERT hh:mm:ss.000 dargestellt!
                          Das Datum wird immer mit: 1899-12-31T angegeben
      [L]                  => Logisch/Boolean. .T.=1 / .F.=0

Aufrufinformation
String = My.Functions.ExcelXml.TransformValue(tvValue AS Variant, tcType AS String , tlNoBrackets AS Boolean)
String = My.Functions.ExcelXml.TransformValue(tvValue,tcType,tlNoBrackets)
Codeinformation
Beispiel: (Die Methode wird eigentlich intern benötigt!)

? My.Functions.ExcelXml.TransformValue(123.45,'Y')
*/ Displays: 123.45

? My.Functions.ExcelXml.TransformValue(123.45,'N')
*/ Displays: 123.5

? My.Functions.ExcelXml.TransformValue(123.45,'B4')
*/ Displays: 123.4500

_DataHeadLine() - Spaltenüberschrift

Die Spaltenüberschrift erzeugen
Hilfeinformation
Interne Methode / Property

Aufrufinformation
taArray = My.Functions.ExcelXml._DataHeadLine(taArray)
taArray = My.Functions.ExcelXml._DataHeadLine(taArray)
Codeinformation


_DataLine() - Eine Datenzeile ausgeben

Gibt EINE Datenzeile des Cursors aus
Hilfeinformation
Interne Methode / Property

Aufrufinformation
taArray = My.Functions.ExcelXml._DataLine(taArray)
taArray = My.Functions.ExcelXml._DataLine(taArray)
Codeinformation


_ExcelWrite() - Schreiben des XML Strings

Schreiben der Excel Datei
Hilfeinformation
Interne Methode / Property

Aufrufinformation
Variant = My.Functions.ExcelXml._ExcelWrite(tcXml AS STRING , tcExcelFile AS STRING , tlStartExcel AS Boolean)
Variant = My.Functions.ExcelXml._ExcelWrite(tcXml,tcExcelFile,tlStartExcel)
Codeinformation


_WorKSheetFooter() - Arbeitsblatt Abschluss

Abschluss von _WorkSheetHeader
Hilfeinformation
Interne Methode / Property

Aufrufinformation
Variant = My.Functions.ExcelXml._WorKSheetFooter()
Codeinformation


_WorKSheetHeader() - Arbeitsblatt Kopf

Diese Funktion schreibt den Header des Arbeitsblattes
Hilfeinformation
Interne Methode / Property

Aufrufinformation
Variant = My.Functions.ExcelXml._WorKSheetHeader(tcName AS String , tnColumns AS Integer , tnRows AS Integer)
Variant = My.Functions.ExcelXml._WorKSheetHeader(tcName,tnColumns,tnRows)
Codeinformation


Liste der Properties von ExcelXml


_ArrayInfo -

Info (Fehlermeldung) des Arrays, dass übergeben werden muss
Hilfeinformation

Aufrufinformation
String = My.Functions.ExcelXml._ArrayInfo
Codeinformation


_ExcelSheetFooter - Sheet Footer

Ende...
Hilfeinformation
Interne Methode / Property

Aufrufinformation
String = My.Functions.ExcelXml._ExcelSheetFooter
Codeinformation


_ExcelSheetHeader - Sheet Header

Gibt den Header des Excel.Sheets zurück. Wird als 'Erstes' aufgerufen
Hilfeinformation
Interne Methode / Property

Aufrufinformation
String = My.Functions.ExcelXml._ExcelSheetHeader
Codeinformation


_ExcelStyles - Styles des EXCEL Sheets

Gibt die Styles des Sheets zurück
Hilfeinformation
Interne Methode / Property

Aufrufinformation
String = My.Functions.ExcelXml._ExcelStyles
Codeinformation


_ExcelWorkbookHeader - Arbeitsblatt Header

Gibt den Header des Excel.Workbooks zurück. Wird als 'Zweites' aufgerufen
Hilfeinformation
Interne Methode / Property

Aufrufinformation
String = My.Functions.ExcelXml._ExcelWorkbookHeader
Codeinformation


cExcelDir - Ausgabeverzeichnis der XML Dateien

Ausgabeverzeichnis der XML Dateien (Standard)
Hilfeinformation
Ausgabeverzeichnis der XML - EXCEL Dateien.
Die Vorgabe kann in ExcelXml.Define eingestellt werden.

Aufrufinformation
String = My.Functions.ExcelXml.cExcelDir
Codeinformation


cIdx02 - Mandanten-ID

Mandanten-ID. Diese ist in der Datei pms32.pth gespeichert und dient dort zur Zuordnung des Mandante und dessen Pfade.
Hilfeinformation
Mandanten-ID. Diese ist in der Datei pms32.pth gespeichert und dient dort zur Zuordnung des Mandante und dessen Pfade.
Auszug aus der Pfaddatei pms32.pth:

      */ Verzeichnis der Microcube - Dateien. Wenn leer dann gleich: cDbfdir
      cCubdir = ""
      */ Ein 'anderes' Dokumentenverzeichnis kann angegeben werden. Wenn nicht angegeben dann gleich: cDbfdir+'docs\'
      */ cDocDir = ""
      */ Verzeichnis der Mandantentabellen. Hier ein Beispiel mit UNC Pfaden.
      */ Wird die Freigabe auf dem Server 'versteckt' \pms$\ angegeben, so kann ein Cryptovirius das Verzeichnis nicht finden!
      cDbfdir = "\\server\pms$\pms32\daten\demo.32\"
      */ Verzeichnis der Reporttabellen
      */ Gibt man Bilddateien in einem Report mit My.Clients.Path.cFrxDir+'BILDNAME.JPG' an, so kann PMS32 einfach auf einen anderen Rechner kopiert werden!
      cFrxdir = "\\server\pms$\pms32\reports\demo.32\"
      */ Beschreibung des Mandanten
      cIcx02  = "TESTMANDANT DEMO"
      */ ID der Firmenparameter zum Mandant.
      cIdx09  = "DEMO"
      */ Kann unter der Mandanteninformation leer sein, wenn für mehrere Mandanten das 'gleiche' Systemverzeichnis gültig ist.
      cSysdir = ""
      */ Willkommens-Information als Hintergrundbild in PMS32
      cWelcome= "pms32.htm"
      */ Nummer des Mandanten, beim Einsatz eines BarcodeScanners sollte diese Nummer EINDEUTIG sein!
      nNumber = 1
<>

Aufrufinformation
String = My.Functions.ExcelXml.cIdx02
Codeinformation
*/ Abfrage der Mandanten-ID
WAIT WINDOW My.Functions.ExcelXml.cIdx02

*/ Wenn man mittels VFP Zugriff auf die Applikation braucht:

*/ 1. vfp9.exe öffenen
*/ 2. In das Startverzeichnis von PMS32 wechseln (MUSS)
CD c:\pms\pms32
*/ 3. My Instanziieren
My = NEWOBJECT("pmsmy","pmsmyhandler.vcx","pmsmyhandler.app")
*/ 4. Den letzten aktuellen Mandanten zuweisen
My.cIdx02 = My.cIdx02
*/ 5. Los gehts...

cLastError - Letzter Fehler

Mit dieser Property kann der letzte Fehler im Klartext abgerufen werden.
Hilfeinformation
Mit dieser Property kann der letzte Fehler im Klartext abgerufen werden.

Aufrufinformation
String = My.Functions.ExcelXml.cLastError
Codeinformation
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcError AS String
lcError = My.Functions.ExcelXml.cLastError

cLastExcelFile - Letztes erzeugtes XML File

Die letzte EXCEL Datei
Hilfeinformation
Enthätl Pfad und Namen der zuletzt erstellten XML-Excel Datei

Aufrufinformation
String = My.Functions.ExcelXml.cLastExcelFile
Codeinformation


lStartExcelWhen - Wann soll EXCEL gestartet werden?

Wert:[Boolean], Wann soll EXCEL gestertet werden? .NULL. - Nach Vorgabe, .T. - Immer oder .F. - nie
Hilfeinformation
Wann soll EXCEL gestertet werden? .NULL. - Nach Vorgabe, .T. - Immer oder .F. - nie

Aufrufinformation
Boolean = My.Functions.ExcelXml.lStartExcelWhen
Codeinformation
*/ Siehe dazu auch die Datei ExcelXml.Define


Siehe auch : Hauptmenü /  Hauptindex /  Such Index /  Cursor Index /  Programm Module /  Tabellen Index /  Tabellenmodule /  Masken Index /  Programmcode Index /  Servicepacks /  My.Struktur /  Funktionen /  Sonstiges Index

Lokale Benutzerhilfe : Meine eigene Hilfe /  Zurück zur PMS32 - Hilfe


Dateiversion:1.0.04#3648 - H.U.DD#SSFF 02.12.2022  Senden Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32  Weitere Informationen finden Sie unter der aktuellen PMS32 WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt. Unbefugtes Weiterleiten,  Veröffentlichen, Kopieren usw. sind untersagt und werden gerichtlich verfolgt.  © PMS Compelec GmbH 2022 ® el-Projekt