VBA Entwickler-TreffVBA Entwickler-Treff

1492 members | 715 posts | Public Group
Bernd Held
Hosted by:Bernd Held

Gerne würde ich Zelleninhalte per selection.copy aus excel mit objectRange.paste nach word kopieren.

Der hängt mir da immer eine Zeilenumbruch hinten dran.

Weiß jemand, was ich falsch mache oder wie ich das umgehen kann?

Vielen Dank im Voraus

Franz-Josef

Hallo Franz-Josef, hier eine Möglichkeit wie du das umgehen kannst. Die folgende Funktion ließt das Clipboard aus, entfernt den Zeilensprung und schreibt den neuen Wert wieder zurück in das Clipboard. Also vor dem Einfügen in Word 1x aufrufen. Damit es funktioniert, muss die Microsoft Forms 2.0 Objektlibrary eingebunden sein. ----------------------------------------------------------- Public Function RemoveVBCRLFfromClipboard() Dim oGetClipBoardData As New DataObject Dim oWriteClipBoardData As New DataObject Dim sText As String On Error Resume Next oGetClipBoardData.GetFromClipboard sText = Replace(oGetClipBoardData.GetText, vbCrLf, "") With oWriteClipBoardData .SetText sText .PutInClipboard End With oGetClipBoardData = Nothing oWriteClipBoardData = Nothing End Function ----------------------------------------------------------- Viele Grüße Christian

Hallo VBA-Helden,

ich habe ein Frage an euch bezüglich dem Transfer zum Kunden.

Ich habe ein Modul, dass der Kunde gern für viele Tabellen nutzen möchtet.

Wenn ich ihm das Modul zum "Selbstimport" gebe, kann ich das Projekt aber nicht schützen oder gibt es da eine Möglichkeit?

Im Internet wurde ich bis auf ein paar "Send Keys" Makros, von denen man laut anderer Quellen lieber die Finger lassen sollte, nicht fündig.

Habt ihr Lösungen oder Best Practices, wie man den Transfer am besten gestaltet?

Guten Tag Herr Rondio Eine Idee wäre, die Excelmappe mit dem gesicherten Makro als Add-In zu speichern. Das Addin könnte Sie bei dessen Start ein Menu erstellen lassen (auch per VBA), womit Ihr Makro gestartet wird. Der Kunde müsste, statt jedes mal das Modul importieren, nur einmal das Addin installieren und hätte Ihr Makro dann immer zur Verfügung, wenn er Excel öffnet. Eine Anleitung für das Menu per VBA erstellen sehen Sie hier. https://www.herber.de/mailing/Eigene_Menueleiste_mit_Untermenues_erstellen.htm natürlich müsste das noch ergänzt werden mit... Private Sub Workbook_Open() MenuErstellen End Sub Hier eines von vielen Seiten, welche die Addins erklären: https://www.online-excel.de/excel/singsel.php?f=114 Freundliche Grüsse Lothar Eichenberger
Hallo Herr Rondio, was für Funktionalität stellt denn Ihr Modul zur Verfügung? Sind diese allgemeiner Art? Dann funktioniert die Add-In-Idee (Achtung: Sie müssten überprüfen, ob Sie z.B. ThisWorkbook verwendet haben, das würde sich dann auf dass Addin beziehen ... d.h. Sie müssten es durch ActiveWorkbook ersetzen ... etc.) Wenn Ihr Modul eine bestimmte Excel-Datei erwartet (z.B. mit bestimmten Arbeitsblätter, Formatvorlagen etc.), dann müssten Sie entsprechende Überprüfungen in das Add-In einbauen. Das ist allerdings nicht wirklich trivial ... Alternativ könnten Sie eine Vorlage mit dem Modul ausliefern (*.xltm) ... was wiederum keine gute Lösung wäre, wenn Sie häufig das Modul anpassen ... Sie sehen, es gibt keine einfache Antwort ohne etwas mehr Infos zu dem Modul und seinem Einsatz zu kennen. Viele Grüße Ingrid Kellerer

Hallo zusammen,

eventuell kann mir jemand helfen. Ich möchte gerne aus einer Access VBA Prozedur in einem durch die Prozedur erstellten Word-Dokument einen Textbaustein aufrufen.

Ich finde die passenden Befehle nicht...

Hintergrund: in Abhängigkeit von Werten aus Access möchte ich gerne eine oder mehrfach eine vorformatierte Tabelle aufrufen und befüllen (das Finden und und Befüllen ist kein Problem).

Vorab vielen Dank

Gruß

Holger

This post is only visible to logged-in members. Log in now
Hallo Holger, hier der Code, wie man an die hinterlegten Textbausteine kommt: Sub test() Dim bb As BuildingBlock, dt As Template, X As Integer Set dt = ThisDocument.AttachedTemplate For X = 1 To dt.BuildingBlockEntries.Count Set bb = dt.BuildingBlockEntries(X) Debug.Print "Name " & bb.Name & vbTab & "Wert " & bb.Value Next X End Sub D. h. wenn der Name bekannt ist, müsste mit dem der Value direkt greifbar sein. Übrigens funktioniert der Loop hier nicht. Gruß Susanne

Moin zusammen,

wie kann ich eine selbsterstellte Funktionsbibliothek "internationalisieren", so das die Kollegen in den ausländischen Offices nicht mir den englischen oder gar deutschen Funktionsaufrufen hantieren müssen?

Ist die Property "Formulalocal" hier der richtige Weg? Wie verwende ich das in eigenen Projekten

Viele Grüße

Christian

Hi Christian, nö. Verwende Formula und übergib die Funktionen auf Englisch. Dann läuft das in der Regel überall. Bsp: FormulaLocal in Deutschland =SUMME FormulaLocal in USA =SUM. Wen Du also mit dt. FormulaLocal über den Teich schickst und der Ami macht das Ding auf, dann krachts (-; VG Bernd
Wie Bernd schon sagte, bezieht sich FormulaLocal auf die eigene Sprache. Ich hab FormulaLocal häufig benutzt, um Formeln aus einer Tabelle auszulesen und keine Lust hatte, die englischen Formeln selber zu übersetzen. ;-)

Hallo zusammen, da sich die Situation rund um Corona nicht zu verbessern scheint, werden wir im Februar die VBA-Entwicklertage online machen. Das Programm dazu könnt Ihr unter der folgenden URL einsehen.

https://held-office.de/tagungen/

VG und immer schön gesund bleiben.

Bernd