Wie Sie programmgesteuert Microsoft Project Professional in einem Office-Programm starten, mithilfe der Shell-Funktion in einem VBA-Makro

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 895509 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

EINFÜHRUNG

Dieser Artikel beschreibt die programmgesteuert Microsoft Project Professional von einem Microsoft Office-Programm starten, indem mit die Shell -Funktion in eine Microsoft Visual Basic für Applikationen (VBA)-Makro.

Weitere Informationen

Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen Erläuterung die Funktionalität einer bestimmten Prozedur, Sie werden ändert jedoch nicht diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen.

Um Microsoft Project Professional aus einer Office-Programm mithilfe der Shell -Funktion in einem VBA-Makro programmgesteuert zu starten, erstellen Sie ein VBA-Makro, das im folgenden Makrobeispiel wird ähnelt.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub StartMSProject()
Dim sServer As String
Dim sServerUser As String
Dim sServerPass As String
Dim sServerString As String
Dim sProjectName As String
Dim t As Long
Dim p As Object
Dim b As Boolean

On Error Resume Next
 
Set p = GetObject(, "MSProject.Application")

' Determine whether Project is already running.
If Not p Is Nothing Then
   b = True
   MsgBox "Microsoft Project is already running. It will now be shut down. Please restart the macro."
End If

'If Project is running, shut down Project. Then, you must restart this macro.
If b Then
   p.Quit
   Exit Sub
End If 

'logon parameters for Project Server
sServer = "http://servername/projectserver" ' for example, http://server85/projectserver
sServerUser = "Username"
' If the sServerPass password is blank, the user must click OK  
' when the server logon dialog box appears. Note that we do not recommend a blank password. A non-blank password will log the user on automatically without 
' user interaction.
sServerPass = "Userpassword"
sServerString = "winproj.exe /s """ & sServer & """ /u """ & sServerUser & """ /p """ & sServerPass & """"
' Replace projectname with the name of your project.
sProjectName = "projectname" 

'Start Project. If you want to start with a Windows logon, remove the /u and /p parameters
'from the ServerString
Shell sServerString 

'At this point, fail to an error handler if the application object cannot be created.
'This behavior occurs because the Shell function does not "wait" for the application to start; the code continues
'to execute. Because Project may be busy logging on, the following Set statement may fail. This
'artificial 'loop' gives Project time to finish the logon process.
t = Timer + 15 ' get the current time + 15 seconds
Sleep 15000 'Wait 15 seconds to give Project to finish the logon process.

On Error GoTo NotReady

'get object to project for automation
Set p = GetObject(, "Msproject.Application")

On Error GoTo 0        

p.FileOpen "<>\" & sProjectName
p.WindowActivate sProjectName

Exit Sub 

NotReady:

   If Timer > t Then
      MsgBox "Microsoft Project has not been able to start for 15 seconds. Try again later."
   Else
       Resume
   End If

End Sub

Eigenschaften

Artikel-ID: 895509 - Geändert am: Donnerstag, 9. November 2006 - Version: 5.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Project Professional 2007
  • Microsoft Office Project Professional 2003
  • Microsoft Project 2002 Professional Edition
Keywords: 
kbmt kbprogramming kbautomation kbvba kbhowto KB895509 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 895509
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com