Excel; Visible:=.T. funktioniert (nicht) mehr [ERLEDIGT]

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Excel; Visible:=.T. funktioniert (nicht) mehr [ERLEDIGT]

Beitrag von Christof »

Hallo!

Nach langer Zeit auch mal wieder in Beitrag von mir.

Wir setzen seit ein paar Wochen MS-Office 2010 ein.
Schon seit Jahren bediene ich Exceltabellen über ActiveX mit xbase.
Hier möchte ich ein ausgeblendetes Blattregister für die Dateneintragung einblenden. Das hat bisher auch immer funktioniert.

Code: Alles auswählen

  
// Create the "Excel.Application" object
  oExcel := CreateObject("Excel.Application")
  IF Empty( oExcel )
    tdMsg("Excel ist nicht installiert!" )
    RETURN NIL
  ENDIF

  // Avoid message boxes such as "File already exists". Also,
  // ensure the Excel application is visible.
  oExcel:DisplayAlerts := .F.
*  oExcel:visible       := .T.

  // Add a workbook to the Excel application. Query for
  // the active sheet (sheet-1) and set up page/paper
  // orientation.
  oBook  := oExcel:workbooks:Open(ConvToOEMCP(cDataPath+"ProFiErg.xls"))

********************* DIE FOLGENDE ZEILE VERURSACHT DEN FEHLER **********************
  oBook:Worksheets(cBlatt):Visible:=.T.
******************************************************************************************************

  oSheet := oBook:Worksheets(cBlatt)
  oSheet:Activate

Und hier die XPPErrorLOG.LOG
------------------------------------------------------------------------------
FEHLERPROTOKOLL von "D:\Daten\Temp\20120207_Test_ProFi\Analysetool\KAP3.EXE" Datum: 07.02.2012 14:32:20

Xbase++ Version : Xbase++ (R) Version 1.90.355
Betriebssystem : Windows Vista 06.01 Build 07601 Service Pack 1
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: Visible
-> VALTYPE: L VALUE: .T.
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Typkonflikt.
Parameter hat falschen Typ
oError:filename : NIL
oError:genCode : NIL
oError:operation : Visible
oError:osCode : -2147352571
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 3
oError:tries : NIL
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------

Called from PROFIEXPORT(888)
Called from PROFI(724)
Welchen Typ muss ich denn da wohl nutzen? Statt cBlatt (hier: "KAPGroessenklassen") hatte ich vorher nBlatt (hier: 4). Ich dachte halt, dass ich die Blattregister nicht mehr über die Stelle, sondern über die Bezeichnung ansprechen muss, aber das war's nicht. :-(
Kann/Muss/Sollte ich statt .T. irgendwie 0/1 oder -1/0 eintragen? Aber wie? Ich habe schon verschiedene Konstellationen ausprobiert.
Fehlt mir vielleicht eine (aktuelle) "activex.ch"?

Jemand eine Idee?

Danke und Gruß

Christof
Zuletzt geändert von Christof am Do, 09. Feb 2012 7:45, insgesamt 1-mal geändert.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Excel; Visible:=.T. funktioniert (nicht) mehr

Beitrag von georg »

Hallo,


welchen Wert hat cBlatt?


Gruss,

Georg
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Excel; Visible:=.T. funktioniert (nicht) mehr

Beitrag von Christof »

Hallo Georg,

ich hatte es oben geschrieben
cBlatt (hier: "KAPGroessenklassen")
So heißt das Blattregister, das ich einblenden möchte.

Jetzt bin ich völlig verwirrt. Hab' gerade mal den Teil des Codes separiert und mit einer einfachen Exceltabelle getestet. Da geht's.
Da brat' mir doch einer 'nen Storch. Ich muss weiter probieren. Sollte jemand noch eine Idee haben...gerne :-D

Christof
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Excel; Visible:=.T. funktioniert (nicht) mehr

Beitrag von Herbert »

Meiner Meinung nach ist Worksheets mit der jeweiligen Nummer des Sheets zu bedienen

Code: Alles auswählen

    oSheet := oBook:Worksheets(2)
    oSheet:Activate
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Excel; Visible:=.T. funktioniert (nicht) mehr

Beitrag von AUGE_OHR »

hi,

Code: Alles auswählen

  oExcel:Application:Workbooks:open(cPATH+cFILE)

// Make the first one active
  oWorkBook := oExcel:activeWorkBook

  oExcel:Application:Worksheets(1):activate()
wenn es "active" ist kannst du damit was "anstellen".
gruss by OHR
Jimmy
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Excel; Visible:=.T. funktioniert (nicht) mehr

Beitrag von Christof »

Hallo zusammen,

tja, was soll ich sagen?

Ich habe es heute noch mal mit

Code: Alles auswählen

oBook:Worksheets(2):Visible:=(-1)    // sichtbar [eingeblendet]
bzw.

Code: Alles auswählen

oBook:Worksheets(2):Visible:=0   // nicht sichtbar [ausgeblendet]
probiert und es funktioniert.

Anscheinend funktioniert die Einstellung mit .T. bzw. .F. nicht (mehr). Kann ich mir auch darüber erklären, dass es ja neben xlHidden und xlVisible auch noch xlVeryHidden gibt (2). Aber das gab's doch bisher auch schon. Komisch. Naja, jetzt wird's wohl laufen.

Danke und Gruß

Christof

p.s. Der Thread kann damit auf [ERLEDIGT]
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Excel; Visible:=.T. funktioniert (nicht) mehr

Beitrag von Manfred »

Hi Christof

erledigt mußt Du selbst hinter die Überschrift des 1.Beitrags schreiben
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten