Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Eigenschaft oder Methode?

Betrifft: Eigenschaft oder Methode? von: Barbara
Geschrieben am: 01.09.2014 16:52:48

Hallo

mal eine einfache Frage zum kleinen Einmaleins des Programmierens mit VBA: Was ist eine Eigenschaft und was eine Methode?

Ich glaube, das sind grundlegende Dinge, an die man nicht vorbei kommt. Aber ich stolpere jedes Mal darüber wie ein Analphabet über Stricknadeln.

In der MS-Hilfe steht:
"Die Eigenschaften und Methoden des Find-Objekts entsprechen den Optionen im Dialogfeld Suchen und Ersetzen.

Mit der Find-Eigenschaft geben Sie das Find-Objekt zurück.Das folgende Beispiel sucht und markiert das nächste Auftreten des Worts "hi". "

Also was ist das Find nun? Eine Eigenschaft (2. Absatz) oder eine Methode (1. Absatz)?

Und dann kommt ein Beispiel:

With Selection.Find
.ClearFormatting
.Text = "hi"
.Execute Forward:=True
End With

Dem "Text" wird ein "hi" gegeben, aber das "ClearFormatting" bleibt wie es ist. Ist das eine eine Eigenschaft und das andere eine Methode?

LG,
Barbara

  

Betrifft: AW: Eigenschaft oder Methode? von: Mullit
Geschrieben am: 01.09.2014 17:56:51

Hallo,

einfache Antwort: Beides....

aber böse Falle: in unterschiedlichen Applications:

Find ist ein(e) Objekt/Eigenschaft des Selection-Objektes/Range-Objektes der Word-Application

und Find ist eine Methode des Range-Objektes in der Excel-Application.

http://msdn.microsoft.com/en-us/library/office/ff839746%28v=office.15%29.aspx
http://msdn.microsoft.com/en-us/library/office/aa211953%28v=office.11%29.aspx
http://msdn.microsoft.com/en-us/library/office/aa221467%28v=office.11%29.aspx

Gruß,


  

Betrifft: AW: Eigenschaft oder Methode? von: Barbara
Geschrieben am: 01.09.2014 19:06:20

Wie ich gerade sehe, habe ich mich ins Excel-Land verlaufen. Dabei bin ich in der Word-Welt unterwegs.

Dennoch danke für Deine Antwort. Ich habe mir Deine Hinweise angesehen. Und
bin etwas schlauer geworden.

Danke.

LG,
Barbara


  

Betrifft: AW: Eigenschaft oder Methode? von: Mullit
Geschrieben am: 01.09.2014 19:31:37

Hallo,

null Problemo...

da ich grad' dabei war, vielleicht noch ergänzend zum 2.Teil Deiner Frage:

Dem "Text" wird ein "hi" gegeben, aber das "ClearFormatting" bleibt wie es ist. 
Ist das eine eine Eigenschaft und das andere eine Methode?

Genauso ist es:

Objekte können ihrerseits wieder Objekte, Eigenschaften und Methoden enthalten.

Den Eigenschaften, wie hier der Text-Eigenschaft, können Werte zugewiesen werden, sie konnen aber auch schreibgeschützt sein, so daß nur ein Lesezugriff besteht.

Methoden sind ausführende Routinen, denen Parameter übergeben werden können, wie hier .Execute Forward:=True, aber die auch ohne Parameter aufgerufen werden können (ClearFormatting).

Erkennen kann man die Methoden in den Objektkatalogen immer an dem kleinen grünen viereckigen Symbol und die Eigenschaften an dem kleinen Schriftblatt mit Hand.

Wenn Du noch mehr wissen willst, ich hab' hier noch zwei sehr gute Links von Nepumuk:

http://www.office-loesung.de/ftopic94743_0_0_asc.php#394889
http://www.office-loesung.de/ftopic357335_0_0_asc.php#1453877

Gruß,


  

Betrifft: AW: Eigenschaft oder Methode? von: Barbara
Geschrieben am: 01.09.2014 21:05:05

Danke,
sehr informativ, diese Links.
Das mit den Klassen lasse ich noch, so schnell geht es nicht (2. Link).

Nun habe ich noch einige Fragen dazu. Wie gesagt, es ist eigentlich ein "Word"-Problem. Dazu habe ich an passender Stelle (in einem anderen Forum) ein Thema eröffnet. Und da ich nicht zweigleisig fahren möchte, hier der Link dazu:

http://www.ms-office-forum.net/forum/showthread.php?t=313391

Vielleicht kann ich Deine geschätzte Aufmerksamkeit darauf lenken.

Großen Dank für Deine Hilfe.

LG,
Barbara


  

Betrifft: AW: Eigenschaft oder Methode? von: Mullit
Geschrieben am: 02.09.2014 03:39:42

Sub Main2()
    Dim myRange As Range
    Set myRange = ActiveDocument.Content
    myRange.Find.Execute FindText:="hi", Forward:=True    < _
span style="color: #008000;"> 'Suche 1
    If myRange.Find.Found = True Then MsgBox "Gefunden  _
nach Case!"    'Suche 2
    
    ActiveDocument.Content.Find.Execute FindText:="hi",  _
Forward:=True   'Suche 3
    If ActiveDocument.Content.Find.Found = True Then  _
MsgBox "Nochmals Gefunden!"   'Suche 4
End Sub



  

Betrifft: AW: Eigenschaft oder Methode? von: Mullit
Geschrieben am: 02.09.2014 16:07:13

Hallo,

böser Editierunfall , da sollte eigentlich nichts rausgeschickt werden, aber na gut verdeutlicht vielleicht das Problem (und auch meins mit dem Editor umzugehen, hüstel..)

Mit Case hast Du einen absoluten Profi am Start, der Dir bereits alles erklärt hat...

Nebenbei: schau' Dir mal seinen Blog an: Material zum Lernen und auch gleich für die Praxis ohne Ende...

Gruß,


  

Betrifft: AW: Eigenschaft oder Methode? von: Barbara
Geschrieben am: 06.09.2014 00:10:29

Danke nochmals, mein VBA-Horizont hat sich erweitert.

LG,
Barbara


 

Beiträge aus den Excel-Beispielen zum Thema "Eigenschaft oder Methode?"