Topic
copy data from Flexpro to Excel via VBA ?
Home page › Community › Automation and VBA › copy data from Flexpro to Excel via VBA ?
- This topic has 2 replies and 2 voices and was last updated 12 years, 7 months ago ago by MAZOYER Thomas.
-
AuthorPosts
-
04.10.2012 at 15:08 #35122MAZOYER ThomasParticipant
Hello,
i would like to copy a data from Flexpro to a specific cell on Excel 2007. How can I do ?
I try this code:
ActiveDatabase.TaskWindows(fpTaskWindowObjectList).Activate
ActiveDatabase.Selection.SelectObject “Data”
ActiveDatabase.Selection.Copybut there is nothing in the clipbord and I have the error :
“Run-time error 1004”.I create an object Excel and open it:
Set oAppExcel = CreateObject(“Excel.Application”)
sFichier = InputBox(“Sélectionner le fichier Excel à renseigner”, File, “H:macrototo.xlsx”)
oAppExcel.Workbooks.Open (sFichier)but it doesn’t work.
could someone help me ?
Thanks,
ToM04.10.2012 at 15:08 #35124MAZOYER ThomasParticipantHello,
i would like to copy a data from Flexpro to a specific cell on Excel 2007. How can I do ?
I try this code:
ActiveDatabase.TaskWindows(fpTaskWindowObjectList).Activate
ActiveDatabase.Selection.SelectObject “Data”
ActiveDatabase.Selection.Copybut there is nothing in the clipbord and I have the error :
“Run-time error 1004”.I create an object Excel and open it:
Set oAppExcel = CreateObject(“Excel.Application”)
sFichier = InputBox(“Sélectionner le fichier Excel à renseigner”, File, “H:macrototo.xlsx”)
oAppExcel.Workbooks.Open (sFichier)but it doesn’t work.
could someone help me ?
Thanks,
ToM10.10.2012 at 12:00 #35123Bernhard KantzParticipantWith the lines
[code]
ActiveDatabase.TaskWindows(fpTaskWindowObjectList).Activate
ActiveDatabase.Selection.SelectObject “Data”
ActiveDatabase.Selection.Copy
[/code]
you activate the object list, add the object named “Data” to an existing selection and copy them all as objects. But Excel can’t insert whole FlexPro objects, what leads to an error.Using
[code]
Set oAppExcel = CreateObject(“Excel.Application”)
sFichier = InputBox(“Sélectionner le fichier Excel à renseigner”, File, “H:macrototo.xlsx”)
oAppExcel.Workbooks.Open (sFichier)
[/code]
works fine, but one has to set the Visible property of oAppExcel to see something happening.One possible solution for writing FlexPro values to Excel cells would be the following: We assume a folder “DataFolder” containing two datasets, one named “Scalar” containing a single value, the other named “Vector” containing 25 values. To write them into some cells of an excisting Excel sheet, one chan use a VBA script like the following:
[code]
Option ExplicitConst sDefaultExcelSheet As String = “C:UsersPublicDocumentsTest.xlsx”
Sub DataIntoExcel()
‘ access data from FlexPro
Dim oFolder As Folder
Set oFolder = ActiveDatabase.RootFolder.Object(“DataFolder”, fpObjectTypeFolder)Dim vScalar
vScalar = oFolder.Object(“Scalar”, fpObjectTypeDataSet).ValueDim vVector
vVector = oFolder.Object(“Vector”, fpObjectTypeDataSet).Value‘ open Excel sheet
Dim oExcel As Excel.Application
Set oExcel = CreateObject(“Excel.Application”)
Dim sSheet As String
sSheet = InputBox(“Excel sheet”, “Choose an Excel sheet”, sDefaultExcelSheet)With oExcel
.Visible = True
.Workbooks.Open Filename:=sSheet, ReadOnly:=False
With .Workbooks(1)
Dim oSheet As Excel.Worksheet
Set oSheet = .Worksheets(1)MsgBox “Transfer data?”
oSheet.Cells(2, 2).Value = vScalar
oSheet.Range(“B5:B29”).Value = WorksheetFunction.Transpose(vVector)If MsgBox(“Save Excel sheet?”, vbYesNo) = vbYes Then
.Save
Else
.Close SaveChanges:=False
End If
End With
.Quit
End With
Set oExcel = Nothing
End Sub
[/code] -
AuthorPosts
- You must be logged in to reply to this topic.