KIDASA Software, Inc. Website   

HOME   |   BUY   |   DOWNLOAD   |  PRODUCTS   |    NEWS   |   SUPPORT   |   CONTACT   |   EXAMPLES   |   SEARCH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    
      Excel OLE Automation example #4

  

    
This example creates a spreadsheet from a Milestones Professional schedule.
To try this example   
    

The Excel Visual Basic Program:
    
Here's the Visual Basic Program that generates a spreadsheet from an existing Milestones Professional schedule.  This is a simple example which you may use as a starting point for building your own program.  The Milestones OLE calls are displayed in blue.
  
Dim objmilestones As Object
Dim numberofrows As Integer
Dim filename As String


Sub CreateSpreadsheet()
Dim numberofrows As Integer
Dim taskrow As Integer
Dim taskname As String
Dim date1 As String, date2 As Date

'get the last file name used from the registry
filenamex = GetSetting("milestones", "testprogramfilename", "milesfilename")
If filenamex = "" Then filenamex = "c:\test.mla"

filename = InputBox("Enter the name of the Milestones File you want to use", "Test VB Program", filenamex)
If filename = "" Then GoTo quitprogram

'save the new file name to the registry
SaveSetting "milestones", "testprogramfilename", "milesfilename", filename

'open the file, creating the Milestones object
Set objmilestones = GetObject(filename)

'activate milestones
With objmilestones
.Activate

'find out how many task rows there are on the schedule
numberofrows = .GetNumberoflines
If numberofrows < 1 Then
MsgBox "Milestones file doesn't have any information"
GoTo quitprogram
End If


'loop for each row on the schedule
For taskrow = 1 To numberofrows

' how many symbols are there?
numberofsymbolsontaskline = .GetNumberofSymbolsInLine(taskrow)
If numberofsymbolsontaskline < 1 Then GoTo nosymbols

date1 = .getsymbolproperty (taskrow, 1, "Date")
Worksheets("Sheet1").Cells(taskrow + 1, 2).Value = date1

If numberofsymbolsontaskline > 1 Then
date2 = .getsymbolproperty(taskrow, 2, "Date")
Worksheets("Sheet1").Cells(taskrow + 1, 3).Value = date2
Else ' put the startdate in the end date field if there is only one symbol
Worksheets("Sheet1").Cells(taskrow + 1, 3).Value = date1
End If

nosymbols:
taskname = .getcelltext(taskrow, 1)
If taskname <> "" Then Worksheets("Sheet1").Cells(taskrow + 1, 1).Value = taskname


Next taskrow


quitprogram:

.keepscheduleopen
End With


End


End Sub

    

To try this example:  
  
If you would like to try this example, click here to download a Winzip file which contains:
- MilestonesOLEExcelExample4.xls - The Excel spreadsheet with program
    
If you would like to try this example, do this:
1    Download the MilestonesOLEExcelExample4.zip file
2    "Unzip" the file to a folder on your computer.
3 Start Excel and open the MilestonesOLEExcelExample4.xls file.
4     In Excel, choose Macro on the Tools menu, then choose Macros.
5 Click to select the "CreateSpreadsheet" macro.
6 Click the run button.
7 When prompted, enter the name of an existing Milestones Professional schedule. 
 
(This download is recommended for those familiar with Visual Basic and Microsoft Excel).
 
Click here to visit the Milestones Professional Programmer's page.
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  © Copyright KIDASA Software, Inc. 2008 All Rights Reserved   1114 Lost Creek Blvd., Suite 300 Austin, TX  78746  512-328-0167   sales@kidasa.com