OLE Automation , date formatting

Hi everybody,
i have a problem with OLE automation for "date" formatting.
The cell value is correct ( DD/MM/YYYY) , but in some cases the cell option is "Date" ( this is the correct option ) and in other cases the cell option is "General". This last option is wrong because the value is left-justified, meanwhile the "Date" option is right-justified.
I wish to have the "Date" cell option always. (right-justified)
Is it possible to set this option with statement "SET PROPERTY OF..." ?
Thanks in advance.
Best regards.
Dario.

Hi,
you can use this:
  SET PROPERTY OF H_CELL 'NumberFormat' =
                         'dd\/mm\/yyyy'.
  SET PROPERTY OF H_CELL 'Value'        = '01/01/2012'.
Regards, Dieter

Similar Messages

  • Performance in OLE Automation

    Hello.
    We're using OLE automation to generate formatted Excel in a client. They wanted to have data in Excel with formulas, locked cells, colors, logos, etc.
    The problem is that we're having performance issues when we work with more than 1.000 records. We're having timeouts and low memory.
    I'm wondering if someone who worked with that could tell me if there's a limit of records to work with this approach or if there's a way to improve performance for OLE automation??.
    If we're working with too many records, is there another way to generate formatted excel from R3??.

    Hi Joaquin,
    For inserting many lines you should better use the OO technique instead of OLE. Check the help on Desktop Office Integration (e.g. for 4.6C):"
    http://help.sap.com/saphelp_46c/helpdata/en/e9/0bee9f408e11d1893b0000e8323c4f/frameset.htm
    Regards,
    John.

  • OLE Automation with Excel

    Hi All,
    Does anyone know of any reference/help/material on how to use OLE automation to download and format data from ABAP to Excel.
    I need to know what the available methods and properties are so I could format the data the way I want.
    Any help will be greatly appreciated.
    Regards.

    Hi Aurang
    You can call almost all methods using OLE. What is required is to know how to interpret a script to ABAP OLE call. This is explained in the tutorial<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/c1d54348-0601-0010-3e98-bd2a2dcd9e6c">"An Easy Reference For OLE Automation"</a>
    Regards
    *--Serdar <a href="https://www.sdn.sap.com:443http://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.sdnbusinesscard?u=qbk%2bsag%2bjiw%3d">[ BC ]</a>

  • OLE Automation is not working in Portal

    Hi Experts,
    We have one report where OLE automation technique is used to upload the data from multiple worksheets (single excel).
    But when we try to execute it from Portal using IView then it doesn't run and give problem in CREATE OBJECT excel "EXCEL.APPLICATION" statement. But when we run it from SAP GUI, it run successfully.
    Please suggest if you have any idea.
    Also let me know if some more information required because i am new to this kind of issue. 
    regards
    Subir

    Hi,
    Are you using SAP GUI for HTML??? There are several issues and limitations with OLE using HTML.
    Look this OSS: 314568
    Hope this helps,
    Iván.

  • [b]Tutorial:[/b] Simplify Developing OLE Automation Code Using VBA

    INTRODUCTION
    Automating Office applications from Oracle Forms can be a tedious, frustrating, and time-consuming process. Because the OLE2 and CLIENT_OLE2 built-ins do not validate the automation commands that they relay, code that compiles without errors often dies at runtime with a not-so-helpful error code. This tutorial will demonstrate how to simplify the development of automation code using a tool that ships with all Microsoft Office editions -- the Visual Basic for Applications (VBA) IDE.
    The VBA IDE, a core Office component, is a full-fledged development environment featuring code completion, basic syntax highlighting, context-driven help and a runtime debugger. Its Object Browser provides a convenient means of browsing the Word object model, as well as searching by keyword.
    For those who may not interested in following this tutorial in detail, I would like to stress the usefulness of the Object Browser as a tool for inspecting the functions supported by OLE server applications and, perhaps more importantly, valid values for function arguments. Whether/not anyone buys the assertion that starting with VBA prototypes is far more productive than pounding out OLE2 code from the very start, they will find the Object Browser invaluable as a reference -- I rely on it exclusively for this sort of documentation.
    A BRIEF INTRODUCTION TO THE VBA IDE & THE OBJECT BROWSER UTILITY
    Try this:
    1. Open Word
    2. Launch the VBA IDE by pressing <Alt><F11>
    3. Open the Object Browser by pressing <F2>
    The Object Browser allows you to visually navigate Word's class hierarchy. Its user interface is a bit crowded, so controls are unlabeled. Hovering the mouse cursor above a control will display a tooltip explaining that control's purpose. The browser's scope can be narrowed by using the Project/Library combo. Typing a keyword or substring in the Search Text combo and clicking on the Search button will cause all classes/members whose name contains the specified search text to be listed in the Search Results pane. Selecting an item from this list will update the two panes below it, showing the selected class, and its members. Beneath the Classes and Members panes is an untitled pane, gray in color, which displays details for the selected class/member, including hyperlinks to relevant information such as arguments, their types and allowable values. If Visual Basic Help is installed, pressing <F1> will display help on a selected class/member. (This feature can be installed from your Office install CD, if necessary.)
    NOTE: While it is possible to cut-and-paste the code examples that follow, I highly recommend that they be typed in by hand. Doing so will provide a better understanding of how the IDE's code completion behaves. Use code completion most efficiently by not using the mouse or <Enter> key when selecting from completion lists. Instead, just type enough letters to select the desired list element, then continue along as if you had typed the entire element, typing the next operator in your statement. It really is slick!
    HELLO WORLD - VBA-STYLE
    1. Open Word
    2. Launch the VBA IDE by pressing <Alt><F11>
    3. Select Module from the Insert menu.
    4. In the blank area that appears, enter the following code:
      Public Sub HelloWorld()
          Documents.Add
          Selection.TypeText ("Hello, world!")
      End Sub5. Press <F5> to run the code.
    If you switch back to Word by pressing <Alt><F11>, there should appear a newly-created document containing the text Hello, world!.
    A MORE AMBITIOUS EXAMPLE
    In this example, we will launch Word, type some text, and alter its formatting. For the purposes of this tutorial, consider it the process we wish to automate from within Forms.
    1. If Word is running, close it.
    2. Open any Office application except Word, such as Excel, Outlook or PowerPoint
    3. Launch the VBA IDE by pressing <Alt><F11>.
    4. Select References from the Tools menu -- a dialog should pop up.
    5. From within this dialog, locate and select Microsoft Word <version> Object Library, then click OK.
    6. Select Module from the Insert menu.
    7. In the blank area that appears, enter the following code:
    Public Sub LaunchWord()
        Dim app As Word.Application
        Set app = CreateObject("Word.Application")
        app.Visible = True                          '!!! IMPORTANT !!!
        app.Documents.Add
        With app.Selection
            .TypeText "This is paragraph 1."
            .TypeParagraph
            .TypeText "This is paragraph 2."
            .TypeParagraph
            .TypeText "This is paragraph 3."
        End With
        With ActiveDocument
            .Paragraphs(1).Range.Words(3).Bold = True
            .Paragraphs(2).Range.Words(3).Italic = True
            .Paragraphs(3).Range.Words(3).Underline = True
        End With
    End Sub8. Press <F5> to run the code.
    A new Word session should have been launched. Switch to it, to view the results of our handiwork!
    TAILORING VBA CODE INTENDED FOR OLE2 CONVERSION
    Now, things get a bit uglier. The code listed above gives a good idea of how concise VBA code can be, but With blocks and chained object references do not translate readily into OLE2 code. Here's the same process, rewritten in a more OLE2-friendly style. Note the numerous intermediate object references that have been declared.
    Public Sub LaunchWord()
        Dim app As Word.Application
        Dim doc As Word.Document
        Dim docs As Word.Documents
        Dim pars As Word.Paragraphs
        Dim par As Word.Paragraph
        Dim wrds As Word.Words
        Dim sel As Word.Selection
        Dim rng As Word.Range
        Set app = CreateObject("Word.Application")
        app.Visible = True                          '!!! IMPORTANT !!!
        Set doc = app.Documents.Add
        Set sel = app.Selection
        sel.TypeText "This is paragraph 1."
        sel.TypeParagraph
        sel.TypeText "This is paragraph 2."
        sel.TypeParagraph
        sel.TypeText "This is paragraph 3."
        Set pars = doc.Paragraphs
        'select third word of first paragraph and make it bold
        Set par = pars.Item(1)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Bold = True
        'select third word of second paragraph and italicize it
        Set par = pars.Item(2)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Italic = True
        'select third word of second paragraph and underline it
        Set par = pars.Item(3)
        Set rng = par.Range
        Set wrds = rng.Words
        Set rng = wrds.Item(3)
        rng.Underline = True
    End Sub
    TRANSFORMATION: CONVERTING VBA CODE INTO PL/SQL
    Here is the PL/SQL counterpart to our previous VBA routine. Compare printouts of the two and note their similarities. Notice the need for argument lists -- this causes the code to fluff up quite a bit, and really interferes with readability.
    PROCEDURE LAUNCH_WORD IS
      v_app OLE2.OBJ_TYPE;     -- Application
      v_doc OLE2.OBJ_TYPE;     -- Document
      v_docs OLE2.OBJ_TYPE;    -- Documents collection
      v_pars OLE2.OBJ_TYPE;    -- Paragraphs collection
      v_par OLE2.OBJ_TYPE;     -- Paragraph
      v_wrds OLE2.OBJ_TYPE;    -- Words collection
      v_sel OLE2.OBJ_TYPE;     -- Selection
      v_rng OLE2.OBJ_TYPE;     -- Range
      v_args OLE2.LIST_TYPE;   -- OLE2 argument list
    BEGIN
      /* launch Word and MAKE IT VISIBLE!!! */ 
        v_app := OLE2.CREATE_OBJ('Word.Application');
        OLE2.SET_PROPERTY(v_app, 'Visible', TRUE);
      /* initialize key object references */ 
        v_docs := OLE2.GET_OBJ_PROPERTY(v_app, 'Documents');
        v_doc := OLE2.INVOKE_OBJ(v_docs, 'Add');
        v_sel := OLE2.GET_OBJ_PROPERTY(v_app, 'Selection');
      /* type first paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 1.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      /* type second paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 2.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      /* type third paragraph */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 'This is paragraph 3.');
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
      /* set reference to Paragraphs collection */
        v_pars := OLE2.GET_OBJ_PROPERTY(v_doc, 'Paragraphs');
      /* select third word of first paragraph and make it bold */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 1);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Bold', TRUE);
      /* select third word of second paragraph and italicize it */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 2);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Italic', TRUE);
      /* select third word of second paragraph and underline it */
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
        v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, 3);
        v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
        OLE2.SET_PROPERTY(v_rng, 'Underline', TRUE);
    END;
    REFACTORING FOR REUSABILITY AND READABILITY
    While the previous procedure runs without errors, it suffers from poor readability which, in turn, makes it difficult to maintain. Here, we address those issues by moving repetetive low-level operations into separate procedures.
      PROCEDURE LAUNCH_WORD IS
        v_app OLE2.OBJ_TYPE;    -- Application
        v_doc OLE2.OBJ_TYPE;    -- Document
        v_docs OLE2.OBJ_TYPE;   -- Documents collection
        v_sel OLE2.OBJ_TYPE;    -- Selection
        v_args OLE2.LIST_TYPE;  -- OLE2 argument list
      BEGIN
        /* launch Word and MAKE IT VISIBLE!!! */ 
          v_app := OLE2.CREATE_OBJ('Word.Application');
          OLE2.SET_PROPERTY(v_app, 'Visible', TRUE);
        /* create a new Word document */ 
          v_docs := OLE2.GET_OBJ_PROPERTY(v_app, 'Documents');
          v_doc := OLE2.INVOKE_OBJ(v_docs, 'Add');
          v_sel := OLE2.GET_OBJ_PROPERTY(v_app, 'Selection');
        /* add a few paragraphs */
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 1.');
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 2.');
          PRINT_PARAGRAPH(v_sel, 'This is paragraph 3.');
        /* apply formatting */
          APPLY_FORMATTING(v_doc, 1, 3, 'Bold', TRUE);
          APPLY_FORMATTING(v_doc, 2, 3, 'Italic', TRUE);
          APPLY_FORMATTING(v_doc, 3, 3, 'Underline', TRUE);
      END;
      PROCEDURE APPLY_FORMATTING(
        v_doc OLE2.OBJ_TYPE,
        v_paragraph_num NUMBER,
        v_word_num NUMBER,
        v_attribute VARCHAR2,
        v_value BOOLEAN) IS
        v_pars OLE2.OBJ_TYPE;   -- Paragraphs collection
        v_par OLE2.OBJ_TYPE;    -- Paragraph
        v_wrds OLE2.OBJ_TYPE;   -- Words collection
        v_rng OLE2.OBJ_TYPE;    -- Range
        v_args OLE2.LIST_TYPE;  -- OLE2 argument list
      BEGIN
        /* set reference to Paragraphs collection */
          v_pars := OLE2.GET_OBJ_PROPERTY(v_doc, 'Paragraphs');
        /* get specified paragraph */   
          v_args := OLE2.CREATE_ARGLIST;
          OLE2.ADD_ARG(v_args, v_paragraph_num);
          v_par := OLE2.INVOKE_OBJ(v_pars, 'Item', v_args);
          OLE2.DESTROY_ARGLIST(v_args);
        /* get words for specified paragraph */
          v_rng := OLE2.GET_OBJ_PROPERTY(v_par, 'Range');
          v_wrds := OLE2.GET_OBJ_PROPERTY(v_rng, 'Words');
        /* apply formatting to word found at specified index */
          v_args := OLE2.CREATE_ARGLIST;
          OLE2.ADD_ARG(v_args, v_word_num);
          v_rng := OLE2.INVOKE_OBJ(v_wrds, 'Item', v_args);
          OLE2.SET_PROPERTY(v_rng, v_attribute, v_value);
      END;
      PROCEDURE PRINT_PARAGRAPH(v_sel OLE2.OBJ_TYPE, v_text VARCHAR2) IS
        v_args OLE2.LIST_TYPE;
      BEGIN
        v_args := OLE2.CREATE_ARGLIST;
        OLE2.ADD_ARG(v_args, v_text);
        OLE2.INVOKE(v_sel, 'TypeText', v_args);
        OLE2.DESTROY_ARGLIST(v_args);
        OLE2.INVOKE(v_sel, 'TypeParagraph');
      END;
    CONCLUSION
    It is my hope that this tutorial, despite it's introductory nature, has demonstrated the value of the VBA IDE, the ease with which automation processes can be prototyped using VBA, the noticeable similarity between VBA automation routines and their Forms PL/SQL counterparts, and the advantages of testing automation processes within the VBA IDE. Please feel free to follow up with any specific questions or concerns you may have.
    Thanks,
    Eric Adamson
    Lansing, Michigan
    FINAL NOTE: These examples use the OLE2 built-in, and will operate correctly when called from forms running in the Form Builder OC4J. Deploying them to an Oracle Application Server will launch Word on the server itself (if available), which is usually not the developer's intent! Automating Word client-side via web forms requires adding WebUtil support. Adapting the code for WebUtil is trivial -- just replace all instances of OLE2 with CLIENT_OLE2. Adapting forms for WebUtil and configuring OLE support into your Oracle Application Server, however, are beyond the scope of this tutorial.
    REVISION HISTORY
    This promises to be something of a 'living document'. I've snuck changes through without comment in the past, but in the future, I'll try to document significant changes here.
    2006-08-21
      * Prefaced boring subject line with text: 'Tutorial:' to clarify purpose
      * Added emphasis on value of Object Browser as a reference

    Thanks James, for your kind words. I do hope this information will help folks out. I honestly believe that tinkering around in the VBA IDE will prove highly gratifying for automation developers. It can be assured that learning to make Word jump through hoops is much more straight-forward in this environment. I'm not one for mottos, but if I were pressed for a cheesy motto, I would say: First, make it work. Then, make it work in Oracle!
    Once the idea has sunk in, that Visual Basic routines for automating Word are exact analogs to their OLE2 counterparts, we can remove keywords like Oracle and PL/SQL from our Google searches on Word automation which, at least in this context, are the proverbial kiss of death. Suddenly we find ourselves liberated by the possibility of steal-, ahem... borrowing ideas from the Visual Basic* community!
    As for links, my link of choice is invariably http://groups.google.com -- if you don't already use it at least ten times a day, you must try it. This is the venerable USENET archive, including the holdings of now-extinct DejaNews. Another possible site of interest is http://word.mvps.org/FAQs/MacrosVBA, which may serve as a good starting point for those who wish to learn how to do fancy tricks with Word using VBA.
    If these links don't prove immediately helpful, please feel free to give specifics on the sort of operations you are interested in automating, and I'll see if I can post an example that addresses it.
    Regards,
    Eric Adamson
    Lansing, Michigan
    PS: I do hope, as people read my posts, with every other acronym being VBA, that they are not mistakenly hearing a call to learn Visual Basic. I say this, not because I believe learning VB would be a Bad Thing, but because I assume that few of us feel we have the time to learn a new programming language. Despite having come to the Oracle camp already knowing VB/VBA, and having acquired a fair bit of experience with automating Office applications as an Access developer, I remain confident that what I am suggesting people attempt does not rise to the level of learning a language. What I am suggesting is that they learn enough of the language to get by.
    *VB vs. VBA
    Just a quick word on this, as readers may wonder why I seem to use these terms interchangeably. Visual Basic (VB) can refer to either a development platform or a programming language. Visual Basic for Applications (VBA) is a language -- more precisely, it is a subset of the Visual Basic language. One purchases VB, usually quite intentionally. VBA is included with Microsoft Office, as is VBA's development environment, the VBA IDE. The key distinction between VB and VBA is that VBA cannot be used to create self-contained executables. Rather, VBA relies on VBA-enabled applications, such as Microsoft Office applications, to serve as a container for VBA code, and to provide a runtime environment for that code. For the purposes of discussing OLE Automation, VB and VBA are quite interchangeable.

  • SSIS 2012 is intermittently failing with below "Invalid date format" while importing data from a source table into a Destination table with same exact schema.

    We migrated Packages from SSIS 2008 to 2012. The Package is working fine in all the environments except in one of our environment.
    SSIS 2012 is intermittently failing with below error while importing data from a source table into a Destination table with same exact schema.
    Error: 2014-01-28 15:52:05.19
       Code: 0x80004005
       Source: xxxxxxxx SSIS.Pipeline
       Description: Unspecified error
    End Error
    Error: 2014-01-28 15:52:05.19
       Code: 0xC0202009
       Source: Process xxxxxx Load TableName [48]
       Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
    An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 11.0"  Hresult: 0x80004005  Description: "Invalid date format".
    End Error
    Error: 2014-01-28 15:52:05.19
       Code: 0xC020901C
       Source: Process xxxxxxxx Load TableName [48]
       Description: There was an error with Load TableName.Inputs[OLE DB Destination Input].Columns[Updated] on Load TableName.Inputs[OLE DB Destination Input]. The column status returned was: "Conversion failed because the data value overflowed
    the specified type.".
    End Error
    But when we reorder the column in "Updated" in Destination table, the package is importing data successfully.
    This looks like bug to me, Any suggestion?

    Hi Mohideen,
    Based on my research, the issue might be related to one of the following factors:
    Memory pressure. Check there is a memory challenge when the issue occurs. In addition, if the package runs in 32-bit runtime on the specific server, use the 64-bit runtime instead.
    A known issue with SQL Native Client. As a workaround, use .NET data provider instead of SNAC.
    Hope this helps.
    Regards,
    Mike Yin
    If you have any feedback on our support, please click
    here
    Mike Yin
    TechNet Community Support

  • OLE Automation for Word. EditGoto with Word 97

    I found a solution. Instead EditGoto, use WW7_EditGoto.
    Example:
    .- A Word Template whith two bookmarks
    (Texto1, Tabla1). A normal bookmark
    (Texto1) and a bookmark into a Word
    Table (Tabla1).
    In the Word Table, is posible change
    cell o create a new row with the same
    command (NextCell).
    The word table has two columns an two
    rows.
    The first row is the Header.
    The second row the first column contain
    a bookmark (Tabla1).
    .- A Form whit two blocks:
    First block with two items:
    nombre_doc
    texto1
    Secod Block (multirecord) whit two items
    col1
    col2
    with a When-Button-Pressed:
    DECLARE
    application OLE2.OBJ_TYPE;
    args OLE2.LIST_TYPE;
    BEGIN
    -- Start WordBasic and make Word visible
    application:=OLE2.CREATE_OBJ('Word.Basic');
    OLE2.INVOKE(application, 'AppShow');
    -- Open a Word document
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args,'Plantilla.dot');
    OLE2.INVOKE(application, 'FileOpen', args);
    OLE2.DESTROY_ARGLIST(args);
    -- Put Text in the first bookmark
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args,'Texto1');
    OLE2.INVOKE(application, 'WW7_EditGoto', args);
    OLE2.DESTROY_ARGLIST(args);
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args,:Texto1);
    OLE2.INVOKE(application, 'Insert', args);
    OLE2.DESTROY_ARGLIST(args);
    -- Send data from Multirecord Block to Word Table
    GO_BLOCK('MULTI');
    FIRST_RECORD;
    IF :SYSTEM.RECORD_STATUS != 'NEW' THEN
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args,'Tabla1');
    OLE2.INVOKE(application, 'WW7_EditGoto', args);
    OLE2.DESTROY_ARGLIST(args);
    LOOP
    IF :col1 IS NOT NULL THEN
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args,:col1);
    OLE2.INVOKE(application, 'Insert', args);
    OLE2.DESTROY_ARGLIST(args);
    END IF;
    OLE2.INVOKE(application, 'NextCell');
    IF :col2 IS NOT NULL THEN
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args,:col2);
    OLE2.INVOKE(application, 'Insert', args);
    OLE2.DESTROY_ARGLIST(args);
    END IF;
    EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
    NEXT_RECORD;
    OLE2.INVOKE(application, 'NextCell');
    END LOOP;
    -- Save a Word document
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args,:nombre_doc);
    OLE2.INVOKE(application, 'FileSaveas', args);
    OLE2.DESTROY_ARGLIST(args);
    --Release the OLE object
    OLE2.RELEASE_OBJ(application);
    END;
    Sorry by the sintax, but i don't speak English.
    I hope it solves this problem.

    Hello,
    I am also trying to use the OLE2 package for OLE Automation. But
    difference being that I am not using Word but am using an
    invisible control for Mail services, using the objects
    MAPISession, MAPImessages. If anyone out there had already done
    this do please give me a code snippet.
    Thanx in advance
    Anup Mistry,
    Programmer/Analyst,
    IIS,Inc
    Vasile (guest) wrote:
    : Hi Daniel,
    : I used OLE with forms 5 ,but now it work without problems in
    : forms 6, too.
    : A procedure that save doc. look like that:
    : procedure filesaveas (fname in varchar2) is
    : arglist ole2.list_type;
    : begin
    : arglist := ole2.create_arglist;
    : ole2.add_arg (arglist, fname);
    : ole2.invoke (obj_hnd, 'filesaveas', arglist);
    : ole2.destroy_arglist (arglist);
    : end;
    : I hope this help you.
    : Vasile
    : Daniel Fox (guest) wrote:
    : : I am using Forms 6.0
    : : Can anyone help with OLE automation using OLE2.
    : : I can open Word, document stored in long raw, even insert
    data
    : : from other form field into the Word Document (only at the
    : : beginning of the Document, though).
    : : All the File commands, such as FileSaveAs, EditGoTo, etc..
    : don't
    : : work. They are simply ignored - no error messages, nothing.
    : : Does anyone use Word Automation through Forms 6.0?
    : : Please, HELP....
    : : Thanks in advance,
    : : Desperate Daniel.
    null

  • Excel 2013 crashes when creating VFP OLE DB Data connection

    Hi all,
    I don't know how often the DBF format is used in Office but it seems some demand still exists because Microsoft created 64 bit version of dBase ODBC and OLE DB driver (in Access data engine). Then I don't understand why Microsoft ignores its own FoxPro
    DBF data format because FoxPro ODBC driver is not supported already and no 64 bit version of VFP OLE DB driver is planned...
    I am testing DBF file import to Excel 2013 (32 bit) but it crashes instantly. I have VFP OLE DB driver (the last version), some small DBF file, and I am trying to read it as external data in Excel.
    Steps to reproduce (menu prompts are translated, so some differences may occur):
    Open empty worksheet
    Click "Other data sources" on Data ribbon
    Select Data Connection Wizard and from the list of available drivers select "Other" and click "Next"
    A list of OLE DB providers installed appears, select Microsoft OLE DB Provider for Visual FoxPro and click "Next >>"
    Excel 2013 crashes...
    This process works in Excel 2010 and 2007 so the problem must be in Excel 2013...
    The question is how to read DBF data in FoxPro format when there is no older Office version available?

    To connect to a Visual FoxPro database or table in Excel
    Open an Excel worksheet.
    From the Data menu, point to Import External Data, and click
    Import Data.
    In the Select Data Source dialog box, click New Source Data Connection.
    In the Data Connection Wizard, select Other/Advanced.
    In the Provider tab, select Microsoft OLE DB Provider for Visual FoxPro.
    The Connection tab in the Data Link Properties dialog box appears.
    To connect to a Visual FoxPro database or table in Word
    Open a Word document.
    From the View menu, point to Toolbars, and click
    Database.
    On the Database toolbar, click the Insert Database icon.
    In the Database dialog box, click Get Data.
    In the Select Data Source dialog box, click New Source Data Connection.
    In the Data Connection Wizard, select Other/Advanced.
    In the Provider tab, select Microsoft OLE DB Provider for Visual FoxPro.
    The Connection tab in the Data Link Properties dialog box appears.
    To add a Visual FoxPro database or table folder
    On the Connection tab and in the Select or enter a database name box, type path and name of the database or table folder you want. 
    -or- 
    To browse for a Visual FoxPro database or table folder, click the ellipsis (...) button to the right of the
    Select or enter a database name box to open the Configure Connection dialog box.
    Specify a different collating sequence if desired.
    To test the connection, click Test Connection. If connection is successful, click
    OK.

  • OLE objects and OO methods - Error using OLE automation

    Hi,
    I'm developing an class to read/write excel sheets and i'm getting an error on the OLE method that is:
    on this instruction
    call method of l_obj_excel 'WORKBOOKS' = l_workb_col.
    i got a dump that give me the following error UC_OBJECTS_NOT_CONVERTIBLE
    The strange is that i've got the same code running on reports and it works fine only when passing it to a oo method i get that dump.
    Thzs in advanced to all
    Best regards
    Jaime

    hi check this..
    Report ZMULTICOLOR_TEST no standard page heading.
    this report demonstrates how to send some ABAP data to an
    EXCEL sheet using OLE automation.
    include ole2incl.
    handles for OLE objects
    data: h_excel type ole2_object,        " Excel object
          h_mapl type ole2_object,         " list of workbooks
          h_map type ole2_object,          " workbook
          h_zl type ole2_object,           " cell
          h_f type ole2_object,            " font
          h_c type ole2_object.            " color
    DATA: FILENAME LIKE RLGRAP-FILENAME.
    tables: spfli.
    data  h type i.
    table of flights
    data: it_spfli like spfli occurs 10 with header line.
    *&   Event START-OF-SELECTION
    start-of-selection.
    read flights
      select * from spfli into table it_spfli.
    display header
      uline (61).
      write: /     sy-vline no-gap,
              (3)  'Flg'(001) color col_heading no-gap, sy-vline no-gap,
              (4)  'Nr'(002) color col_heading no-gap, sy-vline no-gap,
              (20) 'Von'(003) color col_heading no-gap, sy-vline no-gap,
              (20) 'Nach'(004) color col_heading no-gap, sy-vline no-gap,
              (8)  'Zeit'(005) color col_heading no-gap, sy-vline no-gap.
      uline /(61).
    display flights
      loop at it_spfli.
        write: / sy-vline no-gap,
                 it_spfli-carrid color col_key no-gap, sy-vline no-gap,
                 it_spfli-connid color col_normal no-gap, sy-vline no-gap,
                 it_spfli-cityfrom color col_normal no-gap, sy-vline no-gap,
                 it_spfli-cityto color col_normal no-gap, sy-vline no-gap,
                 it_spfli-deptime color col_normal no-gap, sy-vline no-gap.
      endloop.
      uline /(61).
    tell user what is going on
      call function 'SAPGUI_PROGRESS_INDICATOR'
         exporting
              PERCENTAGE = 0
               text       = text-007
           exceptions
                others     = 1.
    start Excel
      create object h_excel 'EXCEL.APPLICATION'.
    PERFORM ERR_HDL.
      set property of h_excel  'Visible' = 1.
    CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls'  .
    PERFORM ERR_HDL.
    tell user what is going on
      call function 'SAPGUI_PROGRESS_INDICATOR'
         exporting
              PERCENTAGE = 0
               text       = text-008
           exceptions
                others     = 1.
    get list of workbooks, initially empty
      call method of h_excel 'Workbooks' = h_mapl.
      perform err_hdl.
    add a new workbook
      call method of h_mapl 'Add' = h_map.
      perform err_hdl.
    tell user what is going on
      call function 'SAPGUI_PROGRESS_INDICATOR'
         exporting
              PERCENTAGE = 0
               text       = text-009
           exceptions
                others     = 1.
    output column headings to active Excel sheet
      perform fill_cell using 1 1 1 200 'Carrier id'(001).
      perform fill_cell using 1 2 1 200 'Connection id'(002).
      perform fill_cell using 1 3 1 200 'City from'(003).
      perform fill_cell using 1 4 1 200 'City to'(004).
      perform fill_cell using 1 5 1 200 'Dep. Time'(005).
      loop at it_spfli.
    copy flights to active EXCEL sheet
        h = sy-tabix + 1.
        if it_spfli-carrid cs 'AA'.
          perform fill_cell using h 1 0 000255000 it_spfli-carrid.
        elseif it_spfli-carrid cs 'AZ'.
          perform fill_cell using h 1 0 168000000 it_spfli-carrid.
        elseif it_spfli-carrid cs 'JL'.
          perform fill_cell using h 1 0 168168000 it_spfli-carrid.
        elseif it_spfli-carrid cs 'LH'.
          perform fill_cell using h 1 0 111111111 it_spfli-carrid.
        elseif it_spfli-carrid cs 'SQ'.
          perform fill_cell using h 1 0 100100100 it_spfli-carrid.
        else.
          perform fill_cell using h 1 0 000145000 it_spfli-carrid.
        endif.
        if it_spfli-connid lt 400.
          perform fill_cell using h 2 0 255000255 it_spfli-connid.
        elseif it_spfli-connid lt 800.
          perform fill_cell using h 2 0 077099088 it_spfli-connid.
        else.
          perform fill_cell using h 2 0 246156138 it_spfli-connid.
        endif.
        if it_spfli-cityfrom cp 'S*'.
          perform fill_cell using h 3 0 155155155 it_spfli-cityfrom.
        elseif it_spfli-cityfrom cp 'N*'.
          perform fill_cell using h 3 0 189111222 it_spfli-cityfrom.
        else.
          perform fill_cell using h 3 0 111230222 it_spfli-cityfrom.
        endif.
        if it_spfli-cityto cp 'S*'.
          perform fill_cell using h 4 0 200200200 it_spfli-cityto.
        elseif it_spfli-cityto cp 'N*'.
          perform fill_cell using h 4 0 000111222 it_spfli-cityto.
        else.
          perform fill_cell using h 4 0 130230230 it_spfli-cityto.
        endif.
        if it_spfli-deptime lt '020000'.
          perform fill_cell using h 5 0 145145145 it_spfli-deptime.
        elseif it_spfli-deptime lt '120000' .
          perform fill_cell using h 5 0 015215205 it_spfli-deptime.
        elseif it_spfli-deptime lt '180000' .
          perform fill_cell using h 5 0 000215205 it_spfli-deptime.
        else.
          perform fill_cell using h 5 0 115115105 it_spfli-deptime.
        endif.
      endloop.
    EXCEL FILENAME
      CONCATENATE SY-REPID '_' SY-DATUM6(2) '_' SY-DATUM4(2) '_'
                  SY-DATUM(4) '_' SY-UZEIT '.XLS' INTO FILENAME.
      CALL METHOD OF H_MAP 'SAVEAS' EXPORTING #1 = FILENAME.
      free object h_excel.
      perform err_hdl.
          FORM FILL_CELL                                                *
          sets cell at coordinates i,j to value val boldtype bold       *
    form fill_cell using i j bold col val.
      call method of h_excel 'Cells' = h_zl
        exporting
          #1 = i
          #2 = j.
      perform err_hdl.
      set property of h_zl 'Value' = val .
      perform err_hdl.
      get property of h_zl 'Font' = h_f.
      perform err_hdl.
      set property of h_f 'Bold' = bold .
      perform err_hdl.
      set property of h_f 'Color' = col.
      perform err_hdl.
    endform.                    "FILL_CELL
    *&      Form  ERR_HDL
          outputs OLE error if any                                       *
    -->  p1        text
    <--  p2        text
    form err_hdl.
      if sy-subrc <> 0.
        write: / 'OLE-Automation Error:'(010), sy-subrc.
        stop.
      endif.
    endform.                    " ERR_HDL
    regards,
    venkat

  • Date format in Master Folder not consistent

    Tonight, I found some old cell phone pics from 2 years ago sitting in a folder on my desktop (was never imported to iphoto). So I went ahead and imported them. In iphoto, the newly imported old pics went to the correct locations (amongst the 2009 photos). That's great. But, when I go to those photos and hit "reveal in finder," I notice that the original files have been copied into today's folder, as if the pictures were just taken today. I was hoping they would go into the folders from 2 years ago where they belong. What gives?
    Also, I don't know why, but the date format in my Master Folder just got screwy. When I do column view, one column will only have the years. So for 2011, it says I have 24 folders. Of those 24 folders belonging to 2011, 23 of them have actual dates as their name (eg: "July 26, 2011" or "February 16, 2011"). However, one lonely folder simply has "08" (meaning "August"), and when I click on it, it reveals the dates of the month within August 2011 as separate folders, so folders with digits for names indicating the date of import (eg: "18" or "23" or "25"). So those cell phone pics from 2 years ago that I just imported today are showing up in the folder reflecting today's date. Again, what gives???

    There is no correlation between the placing of files on the HD and the Events in the iPhoto Window and there hasn't been for three versions of iPhoto now.
    There is no support for user acess of the files within the Library Package. It's not designed for that. There's also no need for it. See below for more.
    FWIW, current versions of iPhoto use folders based on the date and time of import. Some earlier versions based it on the date and time of the photos. Even earlier versions used date and time of import.
    Simple tip: Don't change anything in the iPhoto Library Folder via the Finder or any other application. iPhoto depends on the structure as well as the contents of this folder. Moving things, renaming things,, deleting them or otherwise making changes will prevent iPhoto from working and could even cause you to damage or lose your photos.
    There are many, many ways to access your files in iPhoto:   You can use any Open / Attach / Browse dialogue. On the left there's a Media heading, your pics can be accessed there. Command-Click for selecting multiple pics.
    (Note the above illustration is not a Finder Window. It's the dialogue you get when you go File -> Open)
    You can access the Library from the New Message Window in Mail:
    There's a similar option in Outlook and many, many other apps.  If you use Apple's Mail, Entourage, AOL or Eudora you can email from within iPhoto.
    If you use a Cocoa-based Browser such as Safari, you can drag the pics from the iPhoto Window to the Attach window in the browser.
    If you want to access the files with iPhoto not running:
    For users of 10.6 and later:  You can download a free Services component from MacOSXAutomation  which will give you access to the iPhoto Library from your Services Menu.
    Using the Services Preference Pane you can even create a keyboard shortcut for it.
    For Users of 10.4 and 10.5 Create a Media Browser using Automator (takes about 10 seconds) or use this free utility Karelia iMedia Browser
    Other options include:
    Drag and Drop: Drag a photo from the iPhoto Window to the desktop, there iPhoto will make a full-sized copy of the pic.
    File -> Export: Select the files in the iPhoto Window and go File -> Export. The dialogue will give you various options, including altering the format, naming the files and changing the size. Again, producing a copy.
    Show File:  a. On iPhoto 09 and earlier:  Right- (or Control-) Click on a pic and in the resulting dialogue choose 'Show File'. A Finder window will pop open with the file already selected.    3.b.
    b: On iPhoto 11 and later: Select one of the affected photos in the iPhoto Window and go File -> Reveal in Finder -> Original. A Finder window will pop open with the file already selected.

  • Date format in workflow email

    Hi All,
    I'm having issues with the date format within an automated WorkFlow email. For Leads, users in the UK are entering the 'call back date' field as '26/06/2009' and in the email it seems to base this on the server locale appearing as '06/26/2009'. Can we format this within the code?
    Thanks
    Oli @ Innoveer

    I have just experienced this and used the following to convert the date to Australian format for my workflow email
    %%%Mid([<IndexedDate0>],4,2) + '/' + Left([<IndexedDate0>],2) + Mid([<IndexedDate0>],6,Len([<IndexedDate0>]))%%%
    this gives format DD/MM/YYYY
    hope this helps,

  • Date format in excel

    hi all,
    i am using form6i.
    i am writing data into excel sheet(using ole2 package). i have one date column among them. The date format in excel should be in 'DD/MM/YYYY'.
    In my form i have date format like 'YYYY/MM/MM HH:MI:SS'. so i have converted that column using
    TO_CHAR(TRUNC(:date_col),'DD/MM/YYYY').So i am getting output in the format what i need,but still in excel i am seeing data format as 'DD-MM-YY'.
    is any conversion is required while writing into excel?
    but when i set the excel data format should be in 'DD-MON-YYYY'
    i am getting output as '26-JAN-10' but i want output in excel like
    '26/JAN/2010'.
    Please help.
    Thanks..
    Edited by: GD on Nov 26, 2011 8:21 PM

    If you want the field to be treated like a DATE in excel, you have to set the column-format to DATE and apply the appropiate Format. To get the needed ole-statements, start the macro-recorder, do the changes in excel and then check whats written in the macro and convert it to OLE.
    If the field should only be shown as a date, you can put a ' in fornt of the date-value.

  • How to check the date in the date format

    hi all,
    i am using db10g
    i have to read the data column from some source.
    I should accept as it is and validate whether that date is in the date format how can i validate this condition?
    Thanks..

    user13329002 wrote:
    hi all,
    i am using db10g
    i have to read the data column from some source.
    I should accept as it is and validate whether that date is in the date format how can i validate this condition?
    Thanks..Ask your source what the date format is. If it is constantly changing then the format needs to be transmitted also.
    Imagine a string (that could represent a date) like this:
    10-01-11
    it could mean:
    10th of January 2011
    1st of October 2011
    11th of January 2010
    1st of November 2011
    11th of October 2001 (highly unlikly but still possible).
    How should an automated system decide which is the correct date? You need to establish a rule that includes a date format and therefore returns the correct value. Or even better: Deal with dates, not with strings. This is especially for those Java/VB programmers who have no real clue what a data type is ment for.

  • How to set date format dd.MM.yy for chart time axis

    Is it possible to set default date format dd.MM.yy instead of MM/dd/yy in Flex charts without using label function ?
    In this case we do not know beforehand the length of the time span; it can be minutes, days or weeks.
    Setting locales in compiler options or locale settings for application seems not having any effect.

    For example
    - mx:Barchar
    - if time span is 4 minutes; time axis format is HH:mm and shows 10:00, 10:01, 10:02, 10:03 ; *this correct*
    - if time span is 5 days; time labels are automatically in MM/dd/yy format; question is how to change this automation
    to format dd.MM.yy
    - how to do this *without* dateformatter and *without* coding "if time span is is longer than day nyt less than week then use dd.MM.yy format" ?

  • OLE automation

    Auteur : Corinne Ribeyre-F085785 &agrave; _CARPO04
    I need help with OLE Automation implementation (Excel,
    CrystalReport,Word ...)
    I generate Excel project with OleGen but no documentation exist for
    this project. So I made severals tests (with Excel).
    I can do (see examples):
    - open a file
    - open Excel Application
    - open WorkBook, WoorkSheet
    - Write and Read a Cell (but I am not sure it's the more efficient
    method to do this)
    - run a macro with parameters
    But, I CAN'T do:
    - run a command with parameters like PivotTableWizard (tableau croise
    dynamique)
    Does a Documentation exist about Forte project generated by Olegen
    Tool (Excel..) ?
    Does a Documentation exist about Forte/Crystal Report ?
    Thank You for all answers and examples,
    Corinne
    Examples
    -- Open Excel
    theApplication : Excel . Application = New;
    theApplication . CreateUsingProgID(NX('excel.application'));
    --- Excel Visible /not visible
    theApplication . Visible = VariantBoolean(Value = False);
    -- Get all WorkBooks of Excel Application
    theWorkBooks : Excel . WorkBooks = New;
    theWorkBooks . SetDispatchObject(theApplication . Workbooks());
    -- Open File.xls (added with previous Application)
    theWorkBooks . Open (VariantString(Value = 'C:\\temp\\File.xls'));
    -- Link file with a WorkBook
    aWorkBook : Excel . WorkBook = New;
    aWorkBook . SetDispatchObject(theApplication .
    Workbooks(VariantString(value='File.xls')));
    -- Link a Folder (Sheet1) from File with WorkSheet
    aWorksheet : Excel . Worksheet = New;
    aWorksheet . SetDispatchObject(aWorkBook .
    Worksheets(VariantString(value='Sheet1')));
    aRange : Excel . Range = New;
    -- Fill Cell (1,1) with 'Article'
    TitreArt : VariantString = VariantString(Value = 'Article');
    aRange . SetDispatchObject(aWorksheet . Cells(VariantInteger(Value =
    1), VariantInteger(Value = 1)));
    aRange . Value = titreArt;
    -- Fill Cell (1,2) with 'Date'
    TitreDate : VariantString = VariantString(Value = 'Date');
    aRange . SetDispatchObject(aWorksheet . Cells(VariantInteger(Value =
    1), VariantInteger(Value = 2)));
    aRange . Value = TitreDate;
    -- Run a Macro
    theApplication . Run(VariantString(Value = NX('MacroName')),
    VariantInteger(Value = 65),
    VariantInteger(Value = 7));
    -- Page Setup
    -- Link a Folder (Sheet2) from File with WorkSheet
    aWorksheet . SetDispatchObject(aWorkBook .
    Worksheets(VariantString(value='Sheet2')));
    aPageSetup : Excel . PageSetUp = New;
    aPageSetup . SetDispatchObject(aWorksheet.PageSetup);
    aPageSetup . PrintTitleRows = VariantString (Value = '');
    aPageSetup . PrintTitleColumns = VariantString (Value = '');
    aPageSetup . LeftHeader = VariantString (Value = 'MICKEY');
    aPageSetup . CenterHeader = VariantString (Value = 'MOUSE');
    aPageSetup . RightHeader = VariantString (Value = '&J &H'); --
    Attention J H en Excel Fran&ccedil;ais; D T en Anglais
    aPageSetup . LeftFooter = VariantString (Value = '');
    aPageSetup . CenterFooter = VariantString (Value = 'DISNEYLAND
    PARIS');
    aPageSetup . RightFooter = VariantString (Value = '&P / &T');
    aPageSetup . LeftMargin = VariantInteger(Value = 1);
    aPageSetup . RightMargin = VariantInteger(Value = 1);
    aPageSetup . TopMargin = VariantInteger(Value = 1);
    aPageSetup . BottomMargin = VariantInteger(Value = 1);
    aPageSetup . HeaderMargin = VariantDouble(Value = 0.5);
    aPageSetup . FooterMargin = VariantDouble(Value = 0.5);
    aPageSetup . PrintHeadings = VariantBoolean(Value = False);
    aPageSetup . PrintGridlines = VariantBoolean(Value = False);
    aPageSetup . PrintNotes = VariantBoolean(Value = False);
    aPageSetup . CenterHorizontally = VariantBoolean(Value = True);
    aPageSetup . CenterVertically = VariantBoolean(Value = True);
    aPageSetup . Orientation = VariantInteger(Value = 2); --
    (1:xlPortrait, 2:xlLandscape)
    aPageSetup . Draft = VariantBoolean(Value = False);
    aPageSetup . PaperSize = VariantInteger(Value = 9);
    -- (8: xlPaperA3, 9: xlPaperA4)
    aPageSetup . FirstPageNumber = VariantInteger(Value = -4105);
    -- xlAutomatic
    aPageSetup . Order = VariantInteger(Value = 1);
    -- xlDownThenOver
    aPageSetup . BlackAndWhite = VariantBoolean(Value = True);
    aPageSetup . Zoom = VariantBoolean(Value = False);
    aPageSetup . FitToPagesWide = VariantInteger(Value = 1);
    aPageSetup . FitToPagesTall = VariantInteger(Value = 1);
    -- Save File
    aFilename : VariantString = VariantString(Value =
    NX('C:/Temp/Essai.xls'));
    aWorkBook . SaveAS(FileName = aFilename);
    -- Print File
    PrintOptions : PrintOptionsDesc;
    PrintOptions = Self . Window . WindowSystem . DefaultPrintOptions .
    Clone (Deep = True);
    If (self.Window.PrintDialog (PrintOptions= PrintOptions,
    ShowSetupDialog = TRUE,
    ShowJobDialog = FALSE) = BV_OK) Then
    aWorksheet . PrintOut();
    End If;
    -- Unlink
    aWorkBook . RunAutoMacros(VariantInteger(Value = 2)); --xlAutoFermer 
    -- Cf doc VBA
    aWorkBook . Close(variantboolean (Value = False));
    TheApplication . Quit();
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Hi all, forget this silly question...
    I studied a little bit and learned how to handle OLEs properly...
    Many thanks

Maybe you are looking for

  • Photoshop cs2 v9 problem

    Hi I am a new member who could do with some help and advice with the following problem after installing cs2 on my computer everything works fine for a period of time but then when I try to open the program it tells me that the owners name and serial

  • Google Calendar not showing up on iPhone

    I'm trying to get me iCal and Google Calendar to sync. I've set up my gCal in iCal using the CalDAV instructions and now my gCal shows up in iCal, but as a separate calendar, not really what I consider syncing with my actual iCal "home" calendar. The

  • IFaultRecoveryContext Question

    I'm calling the method IFaultRecoveryContext.getProperties() inside a java class to retrieve email addresses from the fault-policies.xml file. Right now, whenever I make changes to the fault-policies.xml file like adding new email address for example

  • How can I clean out my ipod before I sell it?

    I have a GEN 3 ipod nano that I want to clean out before I sell it. My question is : How can I rid the ipod of all the stuff that I have put into it?

  • Select List & Pop-up Page

    Hey everyone... I am having some trouble with passing values to and from a pop-up window. When running the application the user must select a value from a select list (which appears in every row of a query report), then another page must pop-up displ