AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TExcelApplication-OnWorkbookBeforeSave - Parameterproblem
Thema durchsuchen
Ansicht
Themen-Optionen

TExcelApplication-OnWorkbookBeforeSave - Parameterproblem

Ein Thema von Webo · begonnen am 13. Feb 2010 · letzter Beitrag vom 13. Feb 2010
Antwort Antwort
Benutzerbild von Webo
Webo

Registriert seit: 19. Jul 2008
Ort: Werdohl
37 Beiträge
 
RAD-Studio 2010 Pro
 
#1

TExcelApplication-OnWorkbookBeforeSave - Parameterproblem

  Alt 13. Feb 2010, 11:45
Ich habe ein Problem:
Ich vesuche über Delphi in Excel das "Speichern unter ..." bei einer schreibgschützten Datei zu unterbinden.
Über ExcelApplication1.OnWorkbookBeforeSave kommt man, meines Wissens nach genau an diese benötigte Funktion. Man kann ihr 4 Parameter übergeben:
  • ASender :TObject
  • Wb : _Workbook
  • SaveAsUI : Boolean
  • Cancel : Boolean
In meiner Ratlosigkeit, was ich da jetzt insbesondere beim ersten und zweiten Paramter übergeben soll, habe ich einfach mal folgendes draus gemacht *g*:
ExcelApplication1.OnWorkbookBeforeSave(ExcelApplication1, _WorkBook(ExcelApplication1.Application.Workbooks), True, True); Wie zu erwarten funktioniert das natürlich nicht, sondern es kommt der Fehler "E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen."

Nun steh ich da und weiß nicht mehr weiter, was denn da eingesetzt werden muss

Ich erbitte Eure Hilfe


MfG

Webo




PS: Wenn ihr einen besseren/anderen Weg kennt, das "Speichern unter ..." zu verhindern, dann ist der Vorschlag auch sehr willkommen.
Fabian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.866 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TExcelApplication-OnWorkbookBeforeSave - Parameterprobl

  Alt 13. Feb 2010, 11:49
Diese Methode ist ein callback; d.h du musst/darfst sie nicht Aufrufen, sondern musst eine entsprechende Methode implementieren, die dann Aufgerufen wird.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Webo
Webo

Registriert seit: 19. Jul 2008
Ort: Werdohl
37 Beiträge
 
RAD-Studio 2010 Pro
 
#3

Re: TExcelApplication-OnWorkbookBeforeSave - Parameterprobl

  Alt 13. Feb 2010, 11:59
Jetzt, wo du es sagst, seh ich das auch Aber: Wie müsste im Groben so eine Methode aussehen ? Ich kann mir da beim Besten Willen nichts drunter vorstellen ...
Fabian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.866 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TExcelApplication-OnWorkbookBeforeSave - Parameterprobl

  Alt 13. Feb 2010, 12:02
Mach einfach einen Klick auf den Event im OI, dann legt die IDE die Methode an und verbindet diese mit der Eventproperty.

Setzte in der Methode Cancel auf True um ein Schreiben zu verhindern
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Webo
Webo

Registriert seit: 19. Jul 2008
Ort: Werdohl
37 Beiträge
 
RAD-Studio 2010 Pro
 
#5

Re: TExcelApplication-OnWorkbookBeforeSave - Parameterprobl

  Alt 13. Feb 2010, 12:08
Oh nein, wie peinlich, ich hab ganz vergessen, dass die Komponente auf der Form liegt und man ja, wie du schriebst, ganz einfach im Objektinspektor das einstellen kann ... Daran hab ich gar nicht mehr gedacht

Gut jetzt funktioniert es, aber nur beim "Speichern" Menüpunkt, der "Speichern unter ..." Punkt funktioniert weiterhin. Weiß jemand, woran das lieben könnte ?
Fabian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.866 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TExcelApplication-OnWorkbookBeforeSave - Parameterprobl

  Alt 13. Feb 2010, 12:11
Setze SaveAsUI mal auf False.

Das ganze funktioniert natürlich auch mit dynamisch erzeugten Komponenten. hier muss man die Methode halt manuell anlegen und
<Komp>.on<Event> := <Klasse>.Methode; mit dem Event verbinden
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Webo
Webo

Registriert seit: 19. Jul 2008
Ort: Werdohl
37 Beiträge
 
RAD-Studio 2010 Pro
 
#7

Re: TExcelApplication-OnWorkbookBeforeSave - Parameterprobl

  Alt 13. Feb 2010, 12:17
Zitat von mkinzler:
hier muss man die Methode halt manuell anlegen und
<Komp>.on<Event> := <Klasse>.Methode; mit dem Event verbinden
Genau daran dachte ich ja zuerst und das hatte mich verwirrt und ich wusste absolut nicht, wie das hätte aussehen sollen.

SaveAsUI hatte ich gleich schon auf False gehabt, weil ich das schon irgendwo gelesen hatte, aber funktionieren tut es trotzdem nicht.
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von Webo
Webo

Registriert seit: 19. Jul 2008
Ort: Werdohl
37 Beiträge
 
RAD-Studio 2010 Pro
 
#8

Re: TExcelApplication-OnWorkbookBeforeSave - Parameterprobl

  Alt 13. Feb 2010, 12:30
Folgende kleine Einstellung brachte den Erfolg:

in ExcelApplication1 den Wert ConnectKind auf ckRemote stellen
Fabian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz