Page 1 of 1

ms projectกดrun macroให้เด้งdialox boxให้ใส่ชื่อทำได้ไหมครับ

Posted: Thu Sep 04, 2014 10:38 am
by pholphon
เรียน ท่านอาจารย์ที่เคารพและสมาชิกทุกท่านครับ

ผมได้เขียนคำสั่ง macro ให้ save (Ms project) ออกเป็น excel แต่ชื่อที่ save ออกมาก็จะ replace ทับ file เดิม มีวิธีแก้ไขอย่างไรได้บ้างครับ

คำถามครับ พอกด run macro ให้เด้ง dialox box ให้ใส่ชื่อ file จะสามารถทำบน macro ของ Ms project ได้ไหมครับ?

ขอบคุณครับ

ไฟล์ .mmp กับ .text ไม่อนุญาตให้แนบไฟล์ครับ ผมเลยโพสลงกระทู้ ถ้าผิดพลาดหรือผิดกฎของเว็บบอร์ด ผมขออภัยทุกท่านด้วยครับ(ผมพึ่งเคยโพสครั้งแรกครับ)

Code: Select all

Sub test01()
    MapEdit Name:="Map 1", Create:=True, OverwriteExisting:=True, DataCategory:=0, CategoryEnabled:=True, TableName:="Task_Table", FieldName:="ID", HeaderRow:=True, AssignmentData:=False, TextFileOrigin:=2, UseHtmlTemplate:=False, IncludeImage:=False
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Active"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Task Mode"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Name"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Duration"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Start"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Finish"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Predecessors"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Outline Level"
    MapEdit Name:="Map 1", DataCategory:=0, FieldName:="Notes"
    MapEdit Name:="Map 1", DataCategory:=1, CategoryEnabled:=True, TableName:="Resource_Table", FieldName:="ID"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Name"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Initials"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Type"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Material Label"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Group"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Email Address"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Windows User Account"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Max Units"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Standard Rate"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Cost Per Use"
    MapEdit Name:="Map 1", DataCategory:=1, FieldName:="Notes"
    MapEdit Name:="Map 1", DataCategory:=2, CategoryEnabled:=True, TableName:="Assignment_Table", FieldName:="Task Name"
    MapEdit Name:="Map 1", DataCategory:=2, FieldName:="Resource Name"
    MapEdit Name:="Map 1", DataCategory:=2, FieldName:="% Work Complete"
    MapEdit Name:="Map 1", DataCategory:=2, FieldName:="Work"
    MapEdit Name:="Map 1", DataCategory:=2, FieldName:="Units"
    FileSaveAs Name:="C:\Users\SDU\Desktop\project-test .xlsx", FormatID:="MSProject.ACE.14", map:="Map 1"
End Sub

Re: ms projectกดrun macroให้เด้งdialox boxให้ใส่ชื่อทำได้ไหม

Posted: Sat Sep 06, 2014 7:27 am
by snasui
:D กรณีต้องการจะให้ Save เป็นชื่ออื่นต้องเปลียนชื่อในการ Save ไม่ให้ซ้ำกับชื่อเดิมครับ เช่น จาก Name:="C:\Users\SDU\Desktop\project-test .xlsx" ให้เปลี่ยนเป็น Name:="C:\Users\SDU\Desktop\project-test " & Now & ".xlsx"

ส่วนการบันทึก Macro แล้วให้ Popup กล่องข้อความขึ้นมารับข้อความนั้นไม่สามารถทำได้ ยกเว้นจะเขียน VBA เข้าไปช่วยเช่น

Code: Select all

Sub test01()
   Dim myString as String
   myString = InputBox("Please enter you message.")
   MsgBox MyString
   'Other code
End Sub

Re: ms projectกดrun macroให้เด้งdialox boxให้ใส่ชื่อทำได้ไหม

Posted: Mon Sep 08, 2014 10:56 am
by pholphon
เรียน ท่านอาจารย์ที่เคารพและสมาชิกทุกท่าน ครับ


ขอบคุณมากครับ คำตอบที่ได้ผมเอาไปใช้งานต่อได้ดีมากครับ

คือตอนนี้ ผมอยากให้ กด save หรือ save as แล้วให้ macro run automatic(ทำงานเลยโดยที่ไม่ต้องกด macro) แล้ว ชื่อไฟล์ก็เป็นชื่อเดียวกันกับที่ใส่ชื่อตรง file name ตอน save

vba สามารถทำได้ไหมรึเปล่าครับ


ขอบคุณครับ

Re: ms projectกดrun macroให้เด้งdialox boxให้ใส่ชื่อทำได้ไหม

Posted: Mon Sep 08, 2014 6:46 pm
by snasui
:D ใน Excel จะมี Event Before Save สำหรับดักจับการ Save เพื่อที่จะทำงานตามที่เราต้องการก่อนที่จะ Save ลองดูที่นี่ครับ :arrow: Before Save

Re: ms projectกดrun macroให้เด้งdialox boxให้ใส่ชื่อทำได้ไหม

Posted: Fri Sep 12, 2014 5:01 pm
by pholphon
snasui wrote::D ใน Excel จะมี Event Before Save สำหรับดักจับการ Save เพื่อที่จะทำงานตามที่เราต้องการก่อนที่จะ Save ลองดูที่นี่ครับ :arrow: Before Save

ขอบคุณท่านอาจารย์มากๆเลยครับ ผมศึกษาและนำมาใช้งานได้ดีมากๆเลยครับ


ขอบคุณครับ