This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

(Workflow Script) Edit Excel File within the Object

Former Member
Former Member
Sorry to bother you again, but I need another help from you..

I want to set a Workflow Action, where it should open a File within the Object where Workflow is set. Then it should write something into the Excel Sheet.

I have put some Code together but it doesn't work.. Before I execute the script, I manually check out the object (I didn't manage to check it out via VB).. When I want to check it in again it doesn't do it, I have to undo the Checkout.. Also I don't think the changes were actually made while checked out..


Dim objFiles : Set objFiles = Vault.ObjectFileOperations.GetFiles(objVer)

Set XLS = CreateObject("Excel.Application")
Set WB = XLS.Workbooks.Open(objFiles(1))
Set WS = WB.Sheets(1)
WS.Range("A1").Formula="TEST"

XLS.DisplayAlerts = False
WB.Save
XLS.DisplayAlerts = True
XLS.Quit
Parents
  • Former Member
    Former Member

    I think that you'll need to download the file to a temporary location and open it from there, then if you make changes upload it back


    I tried that, but then I get another Error:


    Microsoft Excel cannot access the file "...". There are several possible reasons:

    -The file name or path does not exist.
    -The file is being used by another program.
    -The workbook you are trying to save has the same name as a currently open workbook.


    Here's the Code:


    For Each obj in related.GetAsObjVers
    If obj.type = 0 Then
    Dim objFiles : Set objFiles = Vault.ObjectFileOperations.GetFiles(obj)
    Dim sFilePath : sFilePath = "D:\Sortieren\" & objFiles(1).GetNameForFileSystem()
    Call Vault.ObjectFileOperations.DownloadFile(objFiles(1).ID, objFiles(1).Version, sFilePath)
    Set XLS = CreateObject("Excel.Application")
    Set WB = XLS.Workbooks.Open(sFilePath)
    Set WS = WB.Sheets(1)
    WS.Range("A1").Formula="TEST"
    XLS.DisplayAlerts = False
    WB.Save
    XLS.DisplayAlerts = True
    XLS.Quit
    End if
    Next


    Path & Filename are correct!
Reply
  • Former Member
    Former Member

    I think that you'll need to download the file to a temporary location and open it from there, then if you make changes upload it back


    I tried that, but then I get another Error:


    Microsoft Excel cannot access the file "...". There are several possible reasons:

    -The file name or path does not exist.
    -The file is being used by another program.
    -The workbook you are trying to save has the same name as a currently open workbook.


    Here's the Code:


    For Each obj in related.GetAsObjVers
    If obj.type = 0 Then
    Dim objFiles : Set objFiles = Vault.ObjectFileOperations.GetFiles(obj)
    Dim sFilePath : sFilePath = "D:\Sortieren\" & objFiles(1).GetNameForFileSystem()
    Call Vault.ObjectFileOperations.DownloadFile(objFiles(1).ID, objFiles(1).Version, sFilePath)
    Set XLS = CreateObject("Excel.Application")
    Set WB = XLS.Workbooks.Open(sFilePath)
    Set WS = WB.Sheets(1)
    WS.Range("A1").Formula="TEST"
    XLS.DisplayAlerts = False
    WB.Save
    XLS.DisplayAlerts = True
    XLS.Quit
    End if
    Next


    Path & Filename are correct!
Children
No Data