Classe responsável por realizar a integração para a criação de documentos Microsoft Office Project (extensão .mpp).
Métodos:
New
Sintaxe
MSProject():New( ) →
Descrição
Cria uma instância da classe MsProject() e inicializa o processo de manipulação do arquivo
Destroy
Sintaxe
MSProject():Destroy( ) →
Descrição
Finaliza o processo de manipulação do documento e destrói o objeto responsável pela construção para liberar a memória
BaseCalendarReset
Sintaxe
MSProject():BaseCalendarReset( cName ) →
Descrição
Finaliza o processo de manipulação do documento e destrói o objeto responsável pela construção para liberar a memória
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome do calendário que terá as propriedade retornadas aos valores padrões | X |
BCalendarCreate
Sintaxe
MSProject():BCalendarCreate( cName , cFrom ) →
Descrição
Cria um calendário base para uso no projeto
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome do calendário a ser criado | X |
| cFrom | Caracter | Nome do calendário que será copiado |
BCalendarDelete
Sintaxe
MSProject():BCalendarCreate( cName ) →
Descrição
Exclui um calendário base
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome do calendário que será excluído | X |
BCalendarEditDays
Sintaxe
MSProject():BCalendarEditDays( cName, dStartDate, dEndDate, nWeekDay, lWorking, cFrom1, cTo1, cFrom2, cTo2, cFrom3, cTo3, lDefault, cFrom4, cTo4, cFrom5, cTo5 ) →
Descrição
Altera as informações de dia trabalhado e horário de um ou mais dias no calendário base
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome do calendário que sofrerá as alterações | X |
| dStartDate | Data | Data inicial para processar a alteração | |
| dEndDate | Data | Data final para processar a alteração | |
| nWeekDay | Númerico | Indica o dia da semana que sofrerá alteração. Este parâmetro é ignorado quando são enviados dStartDate ou dEndDate. Para mais informações, clique aqui | |
| lWorking | Lógico | Verdadeiro se os dias informados são dias trabalhados | |
| cFrom1 | Caracter | Hora de início do primeiro turno | |
| cTo1 | Caracter | Hora final do primeiro turno | |
| cFrom2 | Caracter | Hora de início do segundo turno | |
| cTo2 | Caracter | Hora final do segundo turno | |
| cFrom3 | Caracter | Hora de início do terceiro turno | |
| cTo3 | Caracter | Hora final do terceiro turno | |
| lDefault | Lógico | Indica se tem que voltar os horários dos dias informados para o valor padrão. Caso lWorking seja definido este parâmetro é ignorado | |
| cFrom4 | Caracter | Hora de início do quarto turno | |
| cTo4 | Caracter | Hora final do quarto turno | |
| cFrom5 | Caracter | Hora de início do quinto turno | |
| cTo5 | Caracter | Hora final do quinto turno |
BCalendarRename
Sintaxe
MSProject():BCalendarRename( cFromName , cToName ) →
Descrição
Renomeia um calendário base
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cFromName | Caracter | Nome original do calendário base | X |
| cToName | Caracter | Novo nome para o calendário base | X |
CalculateAll
Sintaxe
MSProject():CalculateAll( ) →
Descrição
Calcula as informações de todos os projetos abertos
FileClose
Sintaxe
MSProject():FileClose( nSave, lNoAuto ) →
Descrição
Fecha o projeto ativo
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nSave | Numérico | Determina se deve fechar o projeto realizando a gravação do conteúdo | X |
| lNoAuto | Lógico | Verdadeiro caso queira que o evento de fechamento não seja disparado para macros |
FileCloseAll
Sintaxe
MSProject():FileCloseAll( nSave ) →
Descrição
Fecha todos os projetos abertos
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nSave | Numérico | Determina se deve fechar o projeto realizando a gravação do conteúdo |
FileNew
Sintaxe
MSProject():FileNew( lSummaryInfo, cTemplate, lFileNewDialog, lFileNewWorkpane ) →
Descrição
Cria um novo projeto
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| lSummaryInfo | Lógico | Define se deve exibir a janela para preencher as informações do projeto (.T.). O valor padrão é lido das configurações de project | |
| cTemplate | Caracter | Caminho para o arquivo de template a ser utilizado na criação do novo projeto | |
| lFileNewDialog | Lógico | Determina se deve exibir a janela para seleção do template a partir do qual será criado o novo projeto. Este parâmetro é ignorado quando é definido cTemplate é definido | |
| lFileNewWorkpane | Lógico | Indica se deve abrir a janela de novo projeto (.T.) antes de criar o novo arquivo |
FileOpen
Sintaxe
MSProject():FileOpen( cName, lReadOnly, nMerge, lTaskInformation, cTable, cSheet, lNoAuto, cUserID, cDatabasePassWord, cFormatID, cMap, nOpenPool, cPassword, cWriteResPassword, lIgnoreReadOnlyRecommended, cXMLName ) →
Descrição
Abre um projeto ou importa dados
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome do arquivo a ser aberto | X |
| lReadOnly | Lógico | Define se precisa realizar a abertura como somente leitura | |
| nMerge | Numérico | Indica se deve realizar o merge do projeto ativo com o projeto a ser aberto | |
| lTaskInformation | Lógico | Define o arquivo contém informações sobre tarefas (.T.), caso contrário serão consideradas informações de recursos (.F.). Quando o parâmetro cMap é informado este parâmetro é ignorado | |
| cTable | Caracter | Nome da tabela para inserir as informações de recurso ou tarefas quando o arquivo a ser aberto não foi salvo como projeto | |
| cSheet | Caracter | Nome da aba da planilha do Excel para ler quando o arquivo for uma planilha | |
| lNoAuto | Lógico | Verdadeiro caso queira evitar o disparo do evento de abertura para a execução de macros | |
| cUserID | Caracter | Identificação do usuário quando acessando arquivo de banco de dados. Se cName ou cFormatId não forem bancos de dados este parâmetro é ignorado | |
| cDatabasePassWord | Caracter | Senha do usuário para acesso ao arquivo de banco de dados. Se cName ou cFormatId não forem bancos de dados este parâmetro é ignorado | |
| cFormatID | Caracter | Indica qual o formato de arquivo está sendo aberto. | |
| cMap | Caracter | Nome do mapa de importação quando importando dados | |
| nOpenPool | Numérico | Ação/estratégia de abertura a ser tomada quando abrindo arquivo que contenha subprojetos | |
| cPassword | Caracter | Senha a ser utilizada quando o arquivo tiver proteção por senha na abertura | |
| cWriteResPassword | Caracter | Senha a ser utilizada quando o arquivo tiver proteção de senha na escrita/alteração de conteúdo | |
| lIgnoreReadOnlyRecommended | Lógico | Indica para exibir de que o projeto deveria ser aberto como somente leitura quando foi salvo como recomendado somente leitura | |
| cXMLName | Caracter | Nome do arquivo xml a ser aberto caso o cFormatId seja informado como MSProject.XMLDOM. Quando este FormatId é informado é obrigatório o preenchimento deste parâmetro. Este parâmetro e o cName não podem ser informados ao mesmo tempo, quando um é informado o outro deve ser nulo |
FilePrint
Sintaxe
MSProject():FilePrint( nFromPage, nToPage, lPageBreaks, lDraft, nCopies, dFromDate, dToDate, lOnePageWide, lPreview, lColor ) →
Descrição
Imprime a visão ativa no projeto
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nFromPage | Numérico | Indica a partir de qual página deverá imprimir | |
| nToPage | Numérico | Indica até qual página deverá imprimir | |
| lPageBreaks | Lógico | Indica se deve usar as quebras manuais do Project 2003 quando imprimindo | |
| lDraft | Lógico | Indica se deve imprimir a visão ativa no projeto em modo rascunho | |
| nCopies | Numérico | Determina o número de cópias para a imprimir | |
| dFromDate | Data | Define qual a data inicial que deverá ter o conteúdo impresso | |
| dToDate | Data | Define qual a data final que deverá ter o conteúdo impresso | |
| lOnePageWide | Lógico | Indica se deve imprimir somente a colunas posicionadas a esquerda que cabem na página | |
| lPreview | Lógico | Define se deve exibir preview da impressão ao invés de imprimir diretamente | |
| lColor | Lógico | Define se deve imprimir colorido (.T.) ou em preto e branco (.F.) |
FileSave
Sintaxe
MSProject():FileSave( ) →
Descrição
Grava o projeto ativo
FileSaveAs
Sintaxe
MSProject():FileSaveAs( cName, cFormat, lBackup, lReadOnly, lTaskInformation, lFiltered, cTable, cUserID, cDatabasePassWord, cFormatID, cMap, cPassword, cWriteResPassword, lClearBaseline, lClearActuals, lClearResourceRates, lClearFixedCosts, cXMLName ) →
Descrição
Grava o projeto ativo sob um novo nome
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Novo nome para o projeto ativo | X |
| cFormat | Caracter | Indica qual a extensão e tipo do projeto sendo salvo. | |
| lBackup | Lógico | Define se faz uma cópia de backup do projeto sendo salvo | |
| lReadOnly | Lógico | Determina se deve exibir aviso recomendando a abertura do projeto posteriormente como somente leitura | |
| lTaskInformation | Lógico | Indica se informações de tarefas estão sendo salvas em um formato que não seja do Project (.T.). Caso não seja definido é entendido que informações de recursos estão sendo salvas no arquivo | |
| lFiltered | Lógico | Define se deve considerar o filtro de tarefas e recursos na gravação do arquivo que não seja do formato do Project | |
| cTable | Caracter | Nome da tabela que contém os dados de recursos ou tarefas quando projeto salvo em um formato não Project. Se cMap for informado ou cName se referir a um banco de dados este parâmetro será ignorado | |
| cUserID | Caracter | Identificação do usuário quando acessando arquivo de banco de dados. Se cName ou cFormatId não forem bancos de dados este parâmetro é ignorado | |
| cDatabasePassWord | Caracter | Senha do usuário para acesso ao arquivo de banco de dados. Se cName ou cFormatId não forem bancos de dados este parâmetro é ignorado | |
| cFormatID | Caracter | Indica qual o formato de arquivo está sendo aberto. | |
| cMap | Caracter | Nome do mapa de importação quando importando dados | |
| cPassword | Caracter | Senha a ser utilizada quando o arquivo tiver proteção por senha na abertura | |
| cWriteResPassword | Caracter | Senha a ser utilizada quando o arquivo tiver proteção de senha na escrita/alteração de conteúdo | |
| lClearBaseline | Lógico | Define se deve limpar os valores base de custo, trabalho, início, fim, duração, etc quando gravando como template | |
| lClearActuals | Lógico | Define se deve limpar os valores de % de finalização, custo atual, etc quando gravando como template | |
| lClearResourceRates | Lógico | Define se deve limpar tabela de taxas dos recursos quando salvando como template | |
| lClearFixedCosts | Lógico | Define se deve limpar os custos fixos de todas as tarefas quando salvando como template | |
| cXMLName | Caracter | Determina qual o nome do arquivo XML deverá ser gravado quando indicado o formato como “MSProject.XML” |
GetCaption
Sintaxe
MSProject():GetCaption( ) → cCaption
Descrição
Captura o texto para exibição de título na janela da aplicação Project
Retorno
cCaption - Caracter - Título da janela da aplicação
GetHeight
Sintaxe
MSProject():GetHeight( ) → nHeight
Descrição
Captura a altura da janela da aplicação Project. O valor é em pontos e não em pixels
Retorno
nHeight - Numérico - Tamanho da janela
GetLeft
Sintaxe
MSProject():GetLeft( ) → nLeft
Descrição
Captura a altura da janela da aplicação Project. O valor é em pontos e não em pixels
Retorno
nLeft - Numérico - Valor da posição a esquerda considerando a distância para a tela
GetTop
Sintaxe
MSProject():GetTop( ) → nTop
Descrição
Captura a posição do topo da aplicação Project
Retorno
nTop - Numérico - Valor do posicionamento
GetVisible
Sintaxe
MSProject():GetVisible( ) → lVisible
Descrição
Recupera a definição para deixar o objeto ou não visível
Retorno
lVisible - Lógico - Indica se a aplicação está visível (.T.) ou não (.F.)
GetWidth
Sintaxe
MSProject():GetWidth( ) → nWidth
Descrição
Captura a largura da janela da aplicação Project. Valor em pontos e não pixels
Retorno
nWidth - Numérico - Largura da janela
LinkTasksEdit
Sintaxe
MSProject():LinkTasksEdit( nFrom, nTo, lDelete, nType, nLag, cPredecessorProjectName, cSuccessorProjectName ) →
Descrição
Edita os links de dependências entre as tarefas
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nFrom | Numérico | Número de identificação da tarefa predecessora | X |
| nTo | Numérico | Número de identificação da tarefa sucessora | X |
| lDelete | Lógico | Define se o Project deve excluir o link | |
| nType | Numérico | Indica o tipo de relação entre as tarefas. Pode variar entre “Final a Final”, “Final a Início”, etc. Para visualizar a lista disponível, consulte aqui | |
| nLag | Numérico | Valor de duração entre o link das tarefas em unidade padrão do projeto | |
| cPredecessorProjectName | Caracter | Nome do projeto predecessor para vincular a tarefa, quando omitido o projeto atual é assumido | |
| cSuccessorProjectName | Caracter | Nome do projeto sucessor para vincular a tarefa, quando omitido o projeto atual é assumido |
OutlineIndent
Sintaxe
MSProject():OutlineIndent( nLevels ) →
Descrição
Executa a identação da tarefa
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nLevels | Numérico | Indica em quantos níveis a identação deve acontecer | X |
OutlineOutdent
Sintaxe
MSProject():OutlineOutdent( nLevels ) →
Descrição
Executa a remoção da identação da tarefa
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nLevels | Numérico | Indica em quantos níveis a identação deve ser removida | X |
Projects
Sintaxe
MSProject():Projects( xProjectsId ) →
Descrição
Captura o objeto da classe _Projects com o Id informado
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| xProjectsId | Nome do projeto para ser iniciado | X |
Retorno
oProjeto - Objeto - Objeto da classe _Projects
Quit
Sintaxe
MSProject():Quit( nSaveChanges ) →
Descrição
Sai e fecha o Project aberto
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nSaveChanges | Numérico | Determina se deve gravar as alterações antes do fechamento da aplicação. As opções aceitas para este parâmetro podem ser visualizadas aqui. |
RCalendarEditDays
Sintaxe
MSProject():RCalendarEditDays( cProjectName, cResourceName, dStartDate, dEndDate, nWeekday, lWorking, lDefault, cFrom1, cTo1, cFrom2, cTo2, cFrom3, cTo3, cFrom4, cTo4, cFrom5, cTo5 ) →
Descrição
Altera os dias em um calendário de recurso
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cProjectName | Caracter | Nome do projeto que contém o calendário | X |
| cResourceName | Caracter | Nome do recurso para alterar | X |
| dStartDate | Data | Data inicial para alteração | |
| dEndDate | Data | Data final para alteração | |
| nWeekday | Numérico | Dia da semana para alteração dos dias. Utilizar como referência para preenchimento deste parâmetro o conteúdo deste link | |
| lWorking | Lógico | Define se deve considerar os dias de trabalho na alteração. Parâmetro não é avaliado quando lDefault é informado | |
| lDefault | Lógico | Verdadeiro quando o calendário do recurso utilizar os padrões do calendário base | |
| cFrom1 | Caracter | Hora inicial do primeiro turno | |
| cTo1 | Caracter | Hora final do primeiro turno | |
| cFrom2 | Caracter | Hora inicial do segundo turno | |
| cTo2 | Caracter | Hora final do segundo turno | |
| cFrom3 | Caracter | Hora inicial do terceiro turno | |
| cTo3 | Caracter | Hora final do terceiro turno | |
| cFrom4 | Caracter | Hora inicial do quarto turno | |
| cTo4 | Caracter | Hora final do quarto turno | |
| cFrom5 | Caracter | Hora inicial do quinto turno | |
| cTo5 | Caracter | Hora final do quinto turno |
ResourceCalendarReset
Sintaxe
MSProject():ResourceCalendarReset( cProjectName, cResourceName, cBaseCalendar ) →
Descrição
Restaura os valores padrões de um calendário de recurso
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cProjectName | Caracter | Nome do projeto que contém o calendário do recurso para restaurar | X |
| cResourceName | Caracter | Nome do recurso que terá o calendário restaurado ao valor padrão | X |
| cBaseCalendar | Caracter | Nome do calendário base que deverá ser utilizado como padrão para restaurar o valor |
SelectRow
Sintaxe
MSProject():SelectRow( nRow, nRowRelative, nHeight, lExtend, lAdd ) →
Descrição
Seleciona uma ou mais linhas
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nRow | Numérico | O número da linha para selecionar | |
| nRowRelative | Numérico | Indica se a posição é relativa a seleção de linha ativa (.T.) ou não (.F.) | |
| nHeight | Numérico | Número de linhas para adicionar a seleção a partir da célula atual | |
| lExtend | Lógico | Indica se deve estender as novas linhas sendo selecionadas à seleção atual (.T.) ou não (.F.) | |
| lAdd | Lógico | Indica se a nova seleção deve ser adicionada a seleção atual (.T.) ou não (.F.) |
SetCaption
Sintaxe
MSProject():SetCaption( cCaption ) →
Descrição
Atribui o texto para exibição de título na janela da aplicação Project
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cCaption | Caracter | Título da janela da aplicação | X |
SetHeight
Sintaxe
MSProject():SetHeight( nHeight ) →
Descrição
Atribui a altura da janela da aplicação Project. O valor é atribuído em pontos, não em pixels
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nHeight | Numérico | Tamanho da janela | X |
SetLeft
Sintaxe
MSProject():SetLeft( nLeft ) →
Descrição
Atribui a posição a esquerda da aplicação Project. O valor é atribuído em pontos, não em pixels
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nLeft | Numérico | Valor da posição a esquerda considerando a distância para a tela | X |
SetTop
Sintaxe
MSProject():SetTop( nTop ) →
Descrição
Atribui a posição do topo da aplicação Project
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nTop | Numérico | Valor do posicionamento | X |
SetVisible
Sintaxe
MSProject():SetVisible( lVisible ) →
Descrição
Atribui a definição para deixar o objeto visível ou não visível
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| lVisible | Lógico | Indica se a aplicação está visível (.T.) ou não (.F.) | X |
SetWidth
Sintaxe
MSProject():SetWidth( nValue1 ) → nWidth
Descrição
Atribui a largura da janela da aplicação Project. Valor em pontos, não em pixels
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| nValue1 | Numérico | X |
Retorno
nWidth - Numérico - Largura da janela
TableApply
Sintaxe
MSProject():TableApply( cName ) →
Descrição
Aplica uma tabela a visão ativa
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome da tabela a ser aplicada | X |
TableEdit
Sintaxe
MSProject():TableEdit( cName, lTaskTable, lCreate, lOverwriteExisting, cNewName, cFieldName, cNewFieldName, cTitle, nWidth, nAlign, lShowInMenu, lLockFirstColumn, cDateFormat, nRowHeight, nColumnPosition, nAlignTitle, lHeaderAutoRowHeightAdjustment, lHeaderTextWrap ) →
Descrição
Cria, altera ou copia uma tabela
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome da tabela que será alterada, criada ou copiada | X |
| lTaskTable | Lógico | Determina se a tabela contém informação sobre tarefas ou recursos | X |
| lCreate | Lógico | Indica se o Project deve criar uma nova tabela. Caso cNewName não seja definido será criada uma nova tabela com o nome do parâmetro cName. Caso seja especificado o valor em cNewName será copiada a tabela cName e dado o nome do parâmetro cNewName | |
| lOverwriteExisting | Lógico | Indica se deve sobrescrever com uma nova tabela | |
| cNewName | Caracter | Indica um novo nome para uma tabela existente (quando lCreate é .F.) ou nova tabela (quando lCreate é .T.) | |
| cFieldName | Caracter | Nome do campo para alteração | |
| cNewFieldName | Caracter | Nome do novo campo. O campo especificado neste parâmetro irá substituir o campo especificado em cFieldName | |
| cTitle | Caracter | Título para o campo especificado no parâmetro cFieldName | |
| nWidth | Numérico | Largura para o campo especificado em cFieldName | |
| nAlign | Numérico | Indica qual a forma de alinhamento do conteúdo no campo. Para informações sobre o conteúdo neste campo visualizar este link. | |
| lShowInMenu | Lógico | Determina se o nome da tabela deve aparecer no menu de tabelas | |
| lLockFirstColumn | Lógico | Define se o Project deve bloquear e prevenir alterações na primeira coluna da tabela | |
| cDateFormat | Caracter | Define o formato de data que deve ser utilizado na tabela. Por exemplo: | |
| nRowHeight | Numérico | Define a altura da coluna na tabela | |
| nColumnPosition | Numérico | Número da coluna para alteração. Colunas são numeradas da esquerda para a direita iniciando em 0, caso deseje inserir por último informe -1 (que é o valor padrão). A primeira coluna não é modificada quando o parâmetro lLockFirstColumn foi definido para a tabela | |
| nAlignTitle | Numérico | Indica como deve ser o alinhamento do título. Consulte as opções aqui | |
| lHeaderAutoRowHeightAdjustment | Lógico | Indica se deve auto ajustar a altura da linha da tabela | |
| lHeaderTextWrap | Lógico | Indica se o Project deve quebrar o texto no header da tabela |
ViewApply
Sintaxe
MSProject():ViewApply( cName, lSinglePane, lToggle ) →
Descrição
Define a view ativa na janela
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cName | Caracter | Nome da view a ser exibida na janela ativa | X |
| lSinglePane | Lógico | Indica se qualquer divisão deve ser removida e a janela ativa exibirá um painel único da view | |
| lToggle | Lógico | Indica se a janela ativa deve trocar de um painel para dois painéis e vice-versa. Este parâmetro é ignorado quando lSinglePane é informado |
Exemplo:
#include 'protheus.ch'
#include 'mproject.ch'
function u_PjSample()
If ! ApOleClient( 'MsProject' )
MsgStop( 'MsProject nao instalado' )
Return
EndIf
ConOut( '... PjSample ...' )
oProject := MsProject():New()
ConOut( 'New()')
If ( ! oProject:GetVisible() )
ConOut( 'GetVisible()')
oProject:SetVisible(.T.)
ConOut( 'SetVisible()')
EndIf
// MsgSTop('Inicio')
oProject:Top := 0
oProject:Left := 200
oProject:Height := 555
oProject:Width := 570
oProject:FileNew()
x := oProject:Left
oProject:SetLeft(x-100)
oProject:TableEdit( 'TableView1', .T., .T., .T., , 'ID', , '', 6, PJCENTER, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableEdit( 'TableView1', .T., , .T., , , 'Name', 'Task Name', 24, PJLEFT, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableEdit( 'TableView1', .T., , .T., , , 'Text1', 'Our Field 1', 15, PJLEFT, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableEdit( 'TableView1', .T., , .T., , , 'Text2', 'Our Field 2', 15, PJLEFT, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableEdit( 'TableView1', .T., , .T., , , 'Text2', 'Our Field 3', 15, PJLEFT, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableEdit( 'TableView1', .T., , .T., , , 'Duration', , 9, PJRIGHT, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableEdit( 'TableView1', .T., , .T., , , 'Start', , 12, PJRIGHT, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableEdit( 'TableView1', .T., , .T., , , 'Finish', , 12, PJRIGHT, .T., .T., PJDATEDEFAULT, 1, ,PJCENTER )
oProject:TableApply( 'TableView1' )
x := oProject:Projects:Count
// MsgStop('Total de projetos : ' + Str(x))
oProject:Projects(1):Activate()
oProject:Projects(1):Tasks:Add( 'Task 01' )
oProject:Projects(1):Tasks(1):SetDuration( 1 )
oProject:Projects(1):Tasks:Add( 'Task 02' )
oProject:Projects(1):Tasks(2):SetDuration( 3 )
oProject:Projects(1):Resources:Add( 'Resource 01' )
oProject:Projects(1):Resources:Add( 'Resource 02' )
oProject:Projects(1):Resources:Add( 'Resource 03' )
oProject:Projects(1):Resources:Add( 'Resource 04' )
oProject:Projects(1):Resources:Add( 'Resource 05' )
x := oProject:Projects(1):Tasks:Count
y := oProject:Projects(1):Resources:Count
oProject:FileSaveAs('pjsample')
oProject:Quit( 0 )
oProject:Destroy()
Return