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