MS Project Macro wird nur im Menü "Ansichtsmakros" ausgeführt

545
Greg Viers

Ich habe also ein Makro, das keine Fehler hat. Wenn ich zu Visual Basic gehe und F5 oder F8 drücke, wird es ausgeführt. Wenn ich zum Menü "View Macros" gehe und es auswähle, wird es ausgeführt.

Wenn Sie jedoch eine Tastenkombination festlegen, diese in die Symbolleiste für den Schnellzugriff einfügen oder der Multifunktionsleiste hinzufügen, tut dies nichts.

Dies ist MS Project 2010 Professional. Versions Information. Systeminformationen.

Weitere Informationen: Ich habe ein neues Makro erstellt, das genau das gleiche Symptom hat. Es scheint ein Problem mit dem Programm zu sein, nicht mit dem Makro selbst.

2
Wo befindet sich der Code? Im global.mpt ein öffentliches oder ein privates Modul? Wie wird das Verfahren erklärt? Ist es ein öffentliches oder privates U-Boot? FWIW Ich kann keine Tastenkombinationen für Project 2013 Pro erhalten, aber die Tatsache, dass sie nicht über die Schnellzugriffsleiste ausgeführt wird, ist ein Problem. Rachel Hettinger vor 6 Jahren 0
Es ist ein Modul in Global.mpt. Das Verfahren wird als öffentliches Sub (Sub Macro1) deklariert. Greg Viers vor 6 Jahren 0
Haben Sie Ihre Vertrauensstellungscenter-Einstellungen überprüft (im Feld Projektoptionen)? Und um sicherzugehen, können Sie einen Haltepunkt in die erste Codezeile setzen, um sicherzustellen, dass das U-Boot nicht aufgerufen wird, wenn es von der Symbolleiste für den Schnellzugriff gestartet wird. Rachel Hettinger vor 6 Jahren 0
Ja, ich habe einen Haltepunkt verwendet. Ich habe auch mit debug.print "Hallo" als erste Zeile versucht. Wird nicht angerufen. Ich habe Trust Center so eingestellt, dass es alle Makros ausführt, aber immer noch nicht ausgeführt wurde. Greg Viers vor 6 Jahren 0
Ich habe ein paar andere Beiträge zu diesem Problem gefunden, aber keine Lösung. Probieren Sie Folgendes aus: 1) Aktivieren Sie deaktivierte Elemente (Optionen: Add-Ins). 2) Starten Sie neu. 3) Versuchen Sie es mit einer anderen Maschine. 4) Schließen Sie Project, benennen Sie global.mpt um, um es beiseite zu legen, und beginnen Sie mit einer neuen globalen Datei (falls diese beschädigt wurde). Rachel Hettinger vor 6 Jahren 0
Nur das Anprobieren einer anderen Maschine funktioniert. Die anderen versagten alle. Ich brauche es aber, um an dieser Maschine zu arbeiten. Greg Viers vor 6 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/72300/discussion-between-rachel-hettinger-and-the-ttg-guy). Rachel Hettinger vor 6 Jahren 0

3 Antworten auf die Frage

0
Mathieu Guindon

Exportieren Sie Ihr Modul, öffnen Sie es in Notepad oder Notepad ++. Blättern Sie zur Definition für Ihre Makroprozedur. In Attributeder ersten Zeile des Hauptteils Ihres Makros sollten ein oder zwei Anweisungen stehen:

Public Sub DoSomething() Attribute DoSomething.VB_Description = "Does something" Attribute DoSomething.VB_ProcData.VB_Invoke_Func = "A\n14" MsgBox "Hello" End Sub 

Hier \n14steht für die Tastenkombination Ctrl+ Shift, dieses DoSomethingMakro ist also Ctrl+ Shift+ zugewiesen A.

Wenn das VB_ProcDataAttribut nicht vorhanden ist, fügen Sie es hinzu. Beachten Sie, dass für die Syntax für Memberattribute der Membername erforderlich ist DoSomething, um das Attribut zu qualifizieren (dh, der Prozedurname lautet, also die Attributanweisung DoSomething.VB_ProcData...).

Speichern Sie dann die Datei, gehen Sie zurück zu Ihrem VBA-Projekt, entfernen Sie das Modul und importieren Sie die geänderte Datei.

Erledigt. Keine Änderung. Greg Viers vor 6 Jahren 0
@TheTTGGuy Ich habe kein MS-Project zur Verfügung, aber ich mache eine VM, wenn ich heute Abend nach Hause komme. Das Attribut sollte hostunabhängig sein (getestet in Excel), aber ein bestimmter Host hat alle Rechte, um sie zu ignorieren. Gibt es ein * Macros * -Fenster mit einer * Options * -Taste? Zeigt diese Schaltfläche * Options * einen kleinen Dialog an, in dem Sie eine Tastenkombination (und eine Beschreibung) eingeben können? Mathieu Guindon vor 6 Jahren 0
Ja. Wenn ich eine Tastenkombination hinzufüge, macht die Tastenkombination nichts. Greg Viers vor 6 Jahren 0
OK. Die Aufgabe dieses Dialogs besteht darin, diese verborgenen `Attribute'-Werte in das Modul zu schreiben. Wenn es vorhanden ist, sollten Tastenkombinationen * von der Host-App berücksichtigt werden. Gibt es etwas über * Microsoft User Voice * darüber? Mathieu Guindon vor 6 Jahren 0
Ich dachte, das ginge nur für Office 365. Das ist Project 2010. Auf jeden Fall hat Google nichts gefunden. Greg Viers vor 6 Jahren 0
@TheTTGGuy Ich werde sehen, ob ich mit Project 2010 eine VM hochfahren kann, wenn ich heute Abend nach Hause komme. Mathieu Guindon vor 6 Jahren 0
0
Greg Viers

Dies stellte sich als Problem bei der Konfiguration meines Windows-Profils mit dem Unternehmensnetzwerk heraus. Innerhalb des Projekts werden 2 Kopien meiner globalen Vorlage angezeigt, eine war "Global.MPT", die andere war "Global (+ nicht zwischengespeichertes Unternehmen"). Das Verschieben meiner Makros in die zweite konnte dieses Problem lösen.

-1
helper

Dieses Problem habe ich beim Hinzufügen eines Makros zu einem Quicklink in MSP Pro 2016 festgestellt.

Das Makro wurde aufgezeichnet und nicht direkt codiert. Das Erstellen eines neuen Makros (z. B. das DoSomething()Beispiel in der Antwort von Mathieu) funktionierte.

Kopieren des Makrocodes in den Editor, Löschen des ursprünglichen Makros und Erstellen einer neuen Version durch Einfügen oder Eingeben des Textes in bearbeitet.

Sub Baselining()  baselineSave All:=True, Copy:=0, Into:=0 baselineSave All:=True, Copy:=0, Into:=14  End Sub 
Ich habe dies bereits ohne Wirkung versucht. Es tut uns leid. Greg Viers vor 5 Jahren 0