Aktuelle Zeit: 19.05.2013 05:59

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 101 Beiträge ]  Gehe zu Seite Vorherige  1 ... 7, 8, 9, 10, 11  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 22.06.2012 16:35 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Can you test this?
Code:
Procedure.l XLSFunc_GetSideNumbers(ExcelObject.COMateObject)
  Protected HPage.l,VPage.l
  HPage=ExcelObject\GetIntegerProperty("WorkSheets(1)\HPageBreaks\Count")+1:Debug COMate_GetLastErrorDescription()
  VPage=ExcelObject\GetIntegerProperty("WorkSheets(1)\VPageBreaks\Count")+1:Debug COMate_GetLastErrorDescription()
  ProcedureReturn HPage*VPage
EndProcedure



This ist from this VBA-Script:
http://www.vba-beispiele.de/office.php? ... t=vbaseite
Zitat:
Seitenanzahl = (Worksheets(1).HPageBreaks.Count + 1) * (Worksheets(1).VPageBreaks.Count + 1)


Regards,
Falko

_________________
Bild
FORUM jens-haipeter.de & Falko-Pure.de
Win8 Pro 64-Bit & Mediacenter, PB_5.0,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 23.06.2012 10:58 
Offline

Registriert: 03.05.2012 18:23
Hello,

Sorry, it doesn't work even changing worksheet by ActiveSheet.

Do you think it is possible to use pure VBA code with comateplus ?

Mesa.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 23.06.2012 11:34 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Hello,

I am not sure. It could be a problem of Microsoft.
Here the following description to ActiveSheet.

http://support.microsoft.com/kb/210663/en

Unfortunately, Comate does not function directly with code VBA and has to go
for Purebasic are adapted. Whether everything functions in COMate,
can say srod in the English forum more about it.


[Edit="VBA"]
I have found there still something else in addition.
Only do not point I, how I with COMatePlus
can use.
Zitat:
Sub SeitenzahlDerAktivenTabelleErmitteln()
Dim i As Integer
i = ExecuteExcel4Macro("Get.Document(50)")
MsgBox "Anzahl der Seiten = " & i
End Sub

( http://cad-it-portal.ch/cad-school/TNT/ ... n_VBA.html ) Excuse me, it is into German
[/Edit]

[Edit2]
Ich schreibe jetzt mal kurz in deutsch für alle anderen weiter.
Dieser VBA-Code gibt wohl die Anzahl der druckbaren Seiten aus, die in einer Tabelle vorhanden sind.
Wenn ich jetzt nur den Code ausführe wird mir 1 angezeigt. Sobald ich mehrere Druckbereiche z.B. auf Tabelle1
erstelle, werden auch mehrere Seiten angezeigt. Nur wie ich dieses in PB mit COMate umsetzen muß, habe ich noch
nicht herausgefunden. Da der VBA-Code oben funktioniert, habe ich hier nur den Anfang der PB-Anpassung probiert.
Vielleicht weiß hier noch jemand, was ich da noch ändern muss. Ich bekomme einen Fehler: Type mismatch in the method parameters.
was wohl auf einen Fehler in den Parametern hinweist.
Code:
Procedure.i XLSFunc_Get_SidesNumbers(ExcelObject.COMateObject)
  Protected ReturnValue.i
  ReturnValue=ExcelObject\GetIntegerProperty("ExecuteExcel4Macro('Get\Document(50)')"):Debug COMate_GetLastErrorDescription()
  ProcedureReturn ReturnValue
EndProcedure


dieser Code ist also noch nicht ganz richtig. Invoke gibt nichts aus und SetProperty einen negativen 8stelligen Wert.
[/Edit2]
Falko.

_________________
Bild
FORUM jens-haipeter.de & Falko-Pure.de
Win8 Pro 64-Bit & Mediacenter, PB_5.0,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 25.06.2012 17:34 
Offline

Registriert: 03.05.2012 18:23
Hello,

Could you test this :

Code:
ReturnValue=ExcelObject\GetIntegerProperty("ActiveSheet\PageSetup\Pages\Count")


It could work with Excel 2007 and more but it doesn't work with Excel 2003.

Mesa.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 25.06.2012 19:02 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Hello,

this don't work with Excel 2010.
Now i have made an entry in the english forum.

http://www.purebasic.fr/english/viewtop ... 13&t=50353

Maybe answers srod moreover and show a solution.

Regards,
Falko

_________________
Bild
FORUM jens-haipeter.de & Falko-Pure.de
Win8 Pro 64-Bit & Mediacenter, PB_5.0,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 05.07.2012 14:40 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Hier mal wieder was neues, wozu mir Kiffi seinen Code zur Verfügung gestellt hat.
Danke an Kiffi. :allright:

Die neue Funktion ist: XLSFunc_GetNumberOfPages(ExcelObject.COMateObject,Sheet.s)

Wenn man in einer Tabelle Druckbereiche definiert hat, werden diese damit korrekt gezählt.
Damit man nicht ins aktive Tabellenblatt umschalten muss, habe ich einen zusätzlichen Parameter "Sheet.s"
hinzugefügt. Damit ist es möglich gezielt jedes Tabellenblatt, mit seinem Namen anzusprechen und
die Anzahl der dortigen Druckbereiche auszugeben.

Ich hoffe, ihr könnt es gebrauchen.

Gruß,
Falko

_________________
Bild
FORUM jens-haipeter.de & Falko-Pure.de
Win8 Pro 64-Bit & Mediacenter, PB_5.0,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 05.12.2012 12:39 
Offline

Registriert: 07.10.2009 15:07
Hallo Falko,
vielen Dank für die neue/geänderte LIB "Excel-Funtions.pbi".

Ob gewollt oder nicht, ist mir folgendes in der Procedure "RowCol2Range" aufgefallen :

[code]
EndIf
Debug Str(Rest) + " - " + Str(Rest+64) + " - " + Chr(Rest+64)
Ganz = (Col - Rest) / 26
[/code]

(Das ist das Debug welches ich erwähnt hatte)

Gruß Udo


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 05.12.2012 14:11 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Hallo Udo,

achso, den hatte ich glatt übersehen und
nun entfernt. Danke für den Hinweis :allright:

Gruß,
Falko

_________________
Bild
FORUM jens-haipeter.de & Falko-Pure.de
Win8 Pro 64-Bit & Mediacenter, PB_5.0,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 06.12.2012 19:43 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Ich habe nun, falls ich nicht eine Funktion vergessen habe,
alle ins Beispielprogramm aufgenommen und hochgeladen:

XLSFunc_Elipse()
XLSFunc_Line()
XLSFunc_Rectangle()
XLSFunc_TextBox()
XLSFunc_RowCol2Range()
XLSFunc_Col2Range()

Folgende zwei Proceduren habe ich nicht
ins Beispiel eingebaut, weil dazu Grafiken benötigt
werden. Aber das sollte für euch kein Problem sein.

XLSFunc_Grafik()
XLSFunc_Image()

Um das Beispielprogramm Test_Excel_Funktion.pb
korrekt ausführen zu können, sollten die ExcelConstants.pbi
und ExcelFunktion.pbi zum einen im selben Verzeichnis
und der Ordner "COMatePlus" im PureBasic-Verzeichnis liegen.
Falls anders gewünscht, müssen die Includes in der ExcelFunktion.pbi
geändert werden.

Gruß,
Falko

_________________
Bild
FORUM jens-haipeter.de & Falko-Pure.de
Win8 Pro 64-Bit & Mediacenter, PB_5.0,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: ExcelFunktionen COMatePlus
BeitragVerfasst: 30.01.2013 22:31 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Kleine Änderung in folgende Procedure, wo nun ein ProcedureReturn
von mir eingefügt wurde um das Excelobject zurückzugeben.
Ohne dieses löste es beim ...Visible... bei mir einen Speicherfehler aus.
ich hoffe damit sind weitere Probleme in eure Codes behoben. :roll:

Code:
Procedure XLSFunc_OpenExcelFile(Datei.s); Open ExcelFile
  Protected ExcelObject.COMateObject,Workbook
  ExcelObject = COMate_CreateObject("Excel.Application")
  If ExcelObject
      ExcelObject\Invoke("Workbooks\Open('"+Datei+"')")
  Else
    MessageRequester("Achtung","Bitte geben Sie eine vorhandene xls-Datei mit Pfad an!")
  EndIf
  ProcedureReturn ExcelObject
EndProcedure


Nun läuft mein Testprogramm komplett durch.

_________________
Bild
FORUM jens-haipeter.de & Falko-Pure.de
Win8 Pro 64-Bit & Mediacenter, PB_5.0,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 101 Beiträge ]  Gehe zu Seite Vorherige  1 ... 7, 8, 9, 10, 11  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye