Microsoft Excel

Herbers Excel/VBA-Archiv

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

Autotexte holen | Herbers Excel-Forum


Betrifft: Autotexte holen von: Markus
Geschrieben am: 21.01.2012 10:24:43

Hallo,
das untenstehende Makro baue ich in ein Add-In ein.
Es soll die Seite (Kopf- und Fuss formatieren).
Damit es jeder gebrauchen kann, möchte ich die Werte im Autotext Excel01, Excel02 in ein Makro übergeben.
Wie spreche ich diese Autotexte an, bzw. wie lauten die Begriffe dafür?
Danke
Markus

Sub Layout_Kopf_Fuss()
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .CenterHeader = "Textbaustein: Excel01"
        .LeftFooter = "Zürich, &D Textbaustein:Excel02"
        .RightFooter = "Seite &P / &N"
    End With
End Sub
N.B.
Momentan ist im Textbaustein: "Excel01" das Wort "Aufstellung der Kosten" hinterlegt.
Das Wort "Textbaustein:" soll natürlich nicht im Kopf erscheinen, dito: in der Fusszeile

  

Betrifft: AW: Autotexte holen von: Hajo_Zi
Geschrieben am: 21.01.2012 10:36:15

Hallo Markus,

warum machst du es nicht ohne Autotext unsd schreuibst den kurzen Text in den Code?

GrußformelHomepage


  

Betrifft: AW: Autotexte holen von: Markus
Geschrieben am: 21.01.2012 10:54:55

Hallo,
ganz einfach, weil ich und auch andere Arbeitskollegen dieses Makro nutzen wollen.
Zudem ist von der Firma ein Standard vorgesehen und so müssen nur einmal die Variablen vorgegeben werden und die Formatierung bleibt so erhalten.
Beim Öffnes Makros werde ich noch einbauen, dass wenn die Autotexte: Excel01, Excel02 leer sind, diese automatisch mit einem Standardwert gefüllt werden.
Markus


  

Betrifft: AutoText oder AutoKorrektur? von: Erich G.
Geschrieben am: 21.01.2012 11:52:19

Hi Markus,
kann sein, dass ich es einfach nur nicht gefunden habe - aber mein Excel scheint kein AutoText anzubieten.
Ich kenne das nur von früher und nur von Word.

An die AutoCorrect-Einträge kommst du so
(aus der VBA-Hilfe zur AutoCorrect.ReplacementList-Eigenschaft):

Dim repl ' (Variant)
Dim intI as Integer 

repl = Application.AutoCorrect.ReplacementList
For intI = 1 To UBound(repl)
    If repl(intI, 1) = "Temperature" Then MsgBox repl(intI, 2)
Next intI
Kommst du damit schon klar?

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich und: Schönes Wochenende!


  

Betrifft: AW: Autotexte holen von: Josef Ehrensberger
Geschrieben am: 21.01.2012 11:52:53


Hallo Markus,

wo stehen den die Textbausteine?




« Gruß Sepp »



  

Betrifft: AW: Autotexte holen von: Markus
Geschrieben am: 21.01.2012 15:16:52

Hallo,
es muss die Autokorrektur sein.
Ich habe beiliegend eine Autkorrektur erfasst:
Gruss
Markus

N.B. Name der Autokorrektur: Excel01 ( ergibt: "Das ist der Textbaustein Excel 01" )

Sub Makro1()
'
' Makro1 Makro
' Makro am 21.01.2012 von .. aufgezeichnet
'

'
    Application.AutoCorrect.AddReplacement What:="Excel01", Replacement:= _
        "Das ist der Textbaustein Excel 01"
    With Application.AutoCorrect
        .TwoInitialCapitals = True
        .CorrectSentenceCap = True
        .CapitalizeNamesOfDays = True
        .CorrectCapsLock = True
        .ReplaceText = True
        .DisplayAutoCorrectOptions = True
    End With
End Sub



  

Betrifft: AW: Autotexte holen von: Markus
Geschrieben am: 21.01.2012 15:17:01

Hallo,
es muss die Autokorrektur sein.
Ich habe beiliegend eine Autkorrektur erfasst:
Gruss
Markus

N.B. Name der Autokorrektur: Excel01 ( ergibt: "Das ist der Textbaustein Excel 01" )

Sub Makro1()
'
' Makro1 Makro
' Makro am 21.01.2012 von .. aufgezeichnet
'

'
    Application.AutoCorrect.AddReplacement What:="Excel01", Replacement:= _
        "Das ist der Textbaustein Excel 01"
    With Application.AutoCorrect
        .TwoInitialCapitals = True
        .CorrectSentenceCap = True
        .CapitalizeNamesOfDays = True
        .CorrectCapsLock = True
        .ReplaceText = True
        .DisplayAutoCorrectOptions = True
    End With
End Sub



  

Betrifft: AW: Autotexte holen von: Josef Ehrensberger
Geschrieben am: 21.01.2012 15:35:55


Hallo Markus,

Public Function AutoText(Entry As String) As String
  Dim vntList As Variant
  Dim lngIndex As Long
  
  vntList = Application.AutoCorrect.ReplacementList
  
  For lngIndex = 1 To UBound(vntList, 1)
    If vntList(lngIndex, 1) = Entry Then
      AutoText = vntList(lngIndex, 2)
      Exit Function
    End If
  Next
  
End Function



Sub Layout_Kopf_Fuss()
  With ActiveSheet.PageSetup
    .PrintArea = ""
    .CenterHeader = AutoText("Excel01")
    .LeftFooter = "Zürich, &D " & AutoText("Excel02")
    .RightFooter = "Seite &P / &N"
  End With
End Sub






« Gruß Sepp »



  

Betrifft: AW: Autotexte holen von: Markus
Geschrieben am: 21.01.2012 15:29:21

Hallo, ich bins nochmal,
wenn es einfacher ist, könnte man ja die Variablen für Dokumente/Sheets die man immer braucht in der Registry hinterlegen.
Einen anderen fixen Punkt wüsste ich nicht, wo man solche "Textbausteine" hinterlegen könnte.
Lässt sich evtl. eine persönliche Ini-Datei von Excel ansprechen.
Markus

z.b.
Excel01, "Das ist der fixe Test für Excel"
etc.


  

Betrifft: AW: Autotexte holen von: Josef Ehrensberger
Geschrieben am: 21.01.2012 20:08:43


Hallo Markus,

INI-Datei geht natürlich auch, ist auch leichter zu warten, wenn mehrere darauf zugreifen sollen.

Anbei ein Beispiel, beide Dateien in das selbe Verzeichnis kopieren.




« Gruß Sepp »



  

Betrifft: AW: Autotexte holen von: Markus
Geschrieben am: 22.01.2012 21:21:17

Grüezi Josef,
besten Dank für Deine Antwort.
Leider ist das Beispiel nicht mitgekommen.
Markus


  

Betrifft: AW: Autotexte holen von: Markus
Geschrieben am: 22.01.2012 21:21:24

Grüezi Josef,
besten Dank für Deine Antwort.
Leider ist das Beispiel nicht mitgekommen.
Markus


  

Betrifft: Na sowas;-)) von: Josef Ehrensberger
Geschrieben am: 22.01.2012 22:20:52


Hallo Markus,

scheint als hab ich da was vergessen;-)))

https://www.herber.de/bbs/user/78555.zip



« Gruß Sepp »