+ Reply to Thread
Results 1 to 43 of 43

code sample for executing a VB function in Excel using perl

  1. #1
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >so, what's the syntax to run a VBA macro that has arguments
    >
    >e.g. answer = dothis(a, b, c, d)
    >
    >Also, does any non-visible function (when I do Alt-F11) loaded through an
    >add-in become a VBA macro?


    Using Evaluate? It needs to look like a cell formula. If you have
    Excel, you should have Excel's online help, so you could use that to
    check the syntax. If you don't have Excel or its online help, you
    shouldn't be trying to automate Excel.

    Why don't you just enter the necessary formulas into Excel cells? If
    you have an add-in that provides a function named Takes4Arguments which
    (oddly enough) takes 4 arguments, you could use something like

    # xl_example.2.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Add;
    $ws = $wb->Worksheets(1);
    $ws->Cells(1,1)->{'Formula'} = "=Takes4Arguments(1,2,3,4)";
    $ws->Cells(2,1)->{'Value'} =
    $xl->Evaluate('=Takes4Arguments(1,2,3,4)');
    $xl->{'Visible'} = True;
    __END__
    # leave Excel app instance running


  2. #2
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >I have an existing perl script that opens an excel sheet and writes stuff in
    >it.
    >
    >but i cannot make it run a VB function that is inside it.
    >
    >can you send me a code sample for executing a VB function in Excel using perl


    Opens an *existing* workbook that contains VBA code in general modules?
    If so, you should be able to use the Excel application class's Run
    method. This works for me.


    # xl_example.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    $xl->Run('foo'); #runs Sub foo
    $zz = $xl->Run('bar'); #runs Function bar and stores its result
    print $zz, "\n";
    undef $wb;
    undef $xl;


  3. #3
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks

    so, what's the syntax to run a VBA macro that has arguments

    e.g. answer = dothis(a, b, c, d)

    Also, does any non-visible function (when I do Alt-F11) loaded through an
    add-in become a VBA macro?


    "Harlan Grove" wrote:

    > newOLE wrote...
    > ....
    > >New question: how do i execute a function written with arguments passed and
    > >lay out its return parameters on a range of cells. This function is an Excel
    > >add-in. Does that require special processing?

    > ....
    >
    > At this point I have to question why you're screwing around with Perl
    > to do this. You may be better off using Perl to do no more than start
    > Excel and load the necessary workbooks. Then run a VBA macro in one of
    > the workbooks to do what you need to do.
    >
    > However, if the add-in you need to use is automatically loaded by Excel
    > (via settings made in Excel using Tools > Add Ins), you may need to use
    > the Evaluate method of the Application class rather than the Run
    > method. You'd need to make the argument to Evaluate look like a cell
    > formula.
    >
    >


  4. #4
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Harlan

    thanks for the code. i tried it but always get this error:

    Win32::OLE(0.1502) error 0x800a01a8
    in METHOD/PROPERTYGET "" at valueTRS.pl line 40

    and the code at line 40 is:

    $Sheet->Run("myown"); # calculate all those rows

    do you know what's going on?

    -R



    "Harlan Grove" wrote:

    > newOLE wrote...
    > >I have an existing perl script that opens an excel sheet and writes stuff in
    > >it.
    > >
    > >but i cannot make it run a VB function that is inside it.
    > >
    > >can you send me a code sample for executing a VB function in Excel using perl

    >
    > Opens an *existing* workbook that contains VBA code in general modules?
    > If so, you should be able to use the Excel application class's Run
    > method. This works for me.
    >
    >
    > # xl_example.pl
    > use Win32::OLE;
    > $xl = Win32::OLE->CreateObject("Excel.Application");
    > $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > $xl->Run('foo'); #runs Sub foo
    > $zz = $xl->Run('bar'); #runs Function bar and stores its result
    > print $zz, "\n";
    > undef $wb;
    > undef $xl;
    >
    >


  5. #5
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    ....
    >New question: how do i execute a function written with arguments passed and
    >lay out its return parameters on a range of cells. This function is an Excel
    >add-in. Does that require special processing?

    ....

    At this point I have to question why you're screwing around with Perl
    to do this. You may be better off using Perl to do no more than start
    Excel and load the necessary workbooks. Then run a VBA macro in one of
    the workbooks to do what you need to do.

    However, if the add-in you need to use is automatically loaded by Excel
    (via settings made in Excel using Tools > Add Ins), you may need to use
    the Evaluate method of the Application class rather than the Run
    method. You'd need to make the argument to Evaluate look like a cell
    formula.


  6. #6
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    "newOLE" <[email protected]> wrote...
    >thanks for the code. i tried it but always get this error:
    >
    >Win32::OLE(0.1502) error 0x800a01a8
    > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    >
    >and the code at line 40 is:
    >
    >$Sheet->Run("myown"); # calculate all those rows
    >
    >do you know what's going on?

    ....
    >"Harlan Grove" wrote:

    ....
    >># xl_example.pl
    >>use Win32::OLE;
    >>$xl = Win32::OLE->CreateObject("Excel.Application");
    >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    >>$xl->Run('foo'); #runs Sub foo
    >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    >>print $zz, "\n";
    >>undef $wb;
    >>undef $xl;


    Is your $Sheet variable a reference to a worksheet object? If so, that's
    your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    Application class does. If you look at my code above you'll see that I call
    the Run method from the Excel application object $xl. Either you need use
    Run directly from an Excel application object reference or by deriving one
    from a worksheet object reference, i.e.,

    $Sheet->Parent->Parent->Run('myown');



  7. #7
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks. It turned out my error was i was closing the book before that.

    New question: how do i execute a function written with arguments passed and
    lay out its return parameters on a range of cells. This function is an Excel
    add-in. Does that require special processing?

    -R

    "Harlan Grove" wrote:

    > "newOLE" <[email protected]> wrote...
    > >thanks for the code. i tried it but always get this error:
    > >
    > >Win32::OLE(0.1502) error 0x800a01a8
    > > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    > >
    > >and the code at line 40 is:
    > >
    > >$Sheet->Run("myown"); # calculate all those rows
    > >
    > >do you know what's going on?

    > ....
    > >"Harlan Grove" wrote:

    > ....
    > >># xl_example.pl
    > >>use Win32::OLE;
    > >>$xl = Win32::OLE->CreateObject("Excel.Application");
    > >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > >>$xl->Run('foo'); #runs Sub foo
    > >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    > >>print $zz, "\n";
    > >>undef $wb;
    > >>undef $xl;

    >
    > Is your $Sheet variable a reference to a worksheet object? If so, that's
    > your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    > Application class does. If you look at my code above you'll see that I call
    > the Run method from the Excel application object $xl. Either you need use
    > Run directly from an Excel application object reference or by deriving one
    > from a worksheet object reference, i.e.,
    >
    > $Sheet->Parent->Parent->Run('myown');
    >
    >
    >


  8. #8
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    ....
    >New question: how do i execute a function written with arguments passed and
    >lay out its return parameters on a range of cells. This function is an Excel
    >add-in. Does that require special processing?

    ....

    At this point I have to question why you're screwing around with Perl
    to do this. You may be better off using Perl to do no more than start
    Excel and load the necessary workbooks. Then run a VBA macro in one of
    the workbooks to do what you need to do.

    However, if the add-in you need to use is automatically loaded by Excel
    (via settings made in Excel using Tools > Add Ins), you may need to use
    the Evaluate method of the Application class rather than the Run
    method. You'd need to make the argument to Evaluate look like a cell
    formula.


  9. #9
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks

    so, what's the syntax to run a VBA macro that has arguments

    e.g. answer = dothis(a, b, c, d)

    Also, does any non-visible function (when I do Alt-F11) loaded through an
    add-in become a VBA macro?


    "Harlan Grove" wrote:

    > newOLE wrote...
    > ....
    > >New question: how do i execute a function written with arguments passed and
    > >lay out its return parameters on a range of cells. This function is an Excel
    > >add-in. Does that require special processing?

    > ....
    >
    > At this point I have to question why you're screwing around with Perl
    > to do this. You may be better off using Perl to do no more than start
    > Excel and load the necessary workbooks. Then run a VBA macro in one of
    > the workbooks to do what you need to do.
    >
    > However, if the add-in you need to use is automatically loaded by Excel
    > (via settings made in Excel using Tools > Add Ins), you may need to use
    > the Evaluate method of the Application class rather than the Run
    > method. You'd need to make the argument to Evaluate look like a cell
    > formula.
    >
    >


  10. #10
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >I have an existing perl script that opens an excel sheet and writes stuff in
    >it.
    >
    >but i cannot make it run a VB function that is inside it.
    >
    >can you send me a code sample for executing a VB function in Excel using perl


    Opens an *existing* workbook that contains VBA code in general modules?
    If so, you should be able to use the Excel application class's Run
    method. This works for me.


    # xl_example.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    $xl->Run('foo'); #runs Sub foo
    $zz = $xl->Run('bar'); #runs Function bar and stores its result
    print $zz, "\n";
    undef $wb;
    undef $xl;


  11. #11
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks. It turned out my error was i was closing the book before that.

    New question: how do i execute a function written with arguments passed and
    lay out its return parameters on a range of cells. This function is an Excel
    add-in. Does that require special processing?

    -R

    "Harlan Grove" wrote:

    > "newOLE" <[email protected]> wrote...
    > >thanks for the code. i tried it but always get this error:
    > >
    > >Win32::OLE(0.1502) error 0x800a01a8
    > > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    > >
    > >and the code at line 40 is:
    > >
    > >$Sheet->Run("myown"); # calculate all those rows
    > >
    > >do you know what's going on?

    > ....
    > >"Harlan Grove" wrote:

    > ....
    > >># xl_example.pl
    > >>use Win32::OLE;
    > >>$xl = Win32::OLE->CreateObject("Excel.Application");
    > >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > >>$xl->Run('foo'); #runs Sub foo
    > >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    > >>print $zz, "\n";
    > >>undef $wb;
    > >>undef $xl;

    >
    > Is your $Sheet variable a reference to a worksheet object? If so, that's
    > your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    > Application class does. If you look at my code above you'll see that I call
    > the Run method from the Excel application object $xl. Either you need use
    > Run directly from an Excel application object reference or by deriving one
    > from a worksheet object reference, i.e.,
    >
    > $Sheet->Parent->Parent->Run('myown');
    >
    >
    >


  12. #12
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Harlan

    thanks for the code. i tried it but always get this error:

    Win32::OLE(0.1502) error 0x800a01a8
    in METHOD/PROPERTYGET "" at valueTRS.pl line 40

    and the code at line 40 is:

    $Sheet->Run("myown"); # calculate all those rows

    do you know what's going on?

    -R



    "Harlan Grove" wrote:

    > newOLE wrote...
    > >I have an existing perl script that opens an excel sheet and writes stuff in
    > >it.
    > >
    > >but i cannot make it run a VB function that is inside it.
    > >
    > >can you send me a code sample for executing a VB function in Excel using perl

    >
    > Opens an *existing* workbook that contains VBA code in general modules?
    > If so, you should be able to use the Excel application class's Run
    > method. This works for me.
    >
    >
    > # xl_example.pl
    > use Win32::OLE;
    > $xl = Win32::OLE->CreateObject("Excel.Application");
    > $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > $xl->Run('foo'); #runs Sub foo
    > $zz = $xl->Run('bar'); #runs Function bar and stores its result
    > print $zz, "\n";
    > undef $wb;
    > undef $xl;
    >
    >


  13. #13
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >so, what's the syntax to run a VBA macro that has arguments
    >
    >e.g. answer = dothis(a, b, c, d)
    >
    >Also, does any non-visible function (when I do Alt-F11) loaded through an
    >add-in become a VBA macro?


    Using Evaluate? It needs to look like a cell formula. If you have
    Excel, you should have Excel's online help, so you could use that to
    check the syntax. If you don't have Excel or its online help, you
    shouldn't be trying to automate Excel.

    Why don't you just enter the necessary formulas into Excel cells? If
    you have an add-in that provides a function named Takes4Arguments which
    (oddly enough) takes 4 arguments, you could use something like

    # xl_example.2.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Add;
    $ws = $wb->Worksheets(1);
    $ws->Cells(1,1)->{'Formula'} = "=Takes4Arguments(1,2,3,4)";
    $ws->Cells(2,1)->{'Value'} =
    $xl->Evaluate('=Takes4Arguments(1,2,3,4)');
    $xl->{'Visible'} = True;
    __END__
    # leave Excel app instance running


  14. #14
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    "newOLE" <[email protected]> wrote...
    >thanks for the code. i tried it but always get this error:
    >
    >Win32::OLE(0.1502) error 0x800a01a8
    > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    >
    >and the code at line 40 is:
    >
    >$Sheet->Run("myown"); # calculate all those rows
    >
    >do you know what's going on?

    ....
    >"Harlan Grove" wrote:

    ....
    >># xl_example.pl
    >>use Win32::OLE;
    >>$xl = Win32::OLE->CreateObject("Excel.Application");
    >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    >>$xl->Run('foo'); #runs Sub foo
    >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    >>print $zz, "\n";
    >>undef $wb;
    >>undef $xl;


    Is your $Sheet variable a reference to a worksheet object? If so, that's
    your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    Application class does. If you look at my code above you'll see that I call
    the Run method from the Excel application object $xl. Either you need use
    Run directly from an Excel application object reference or by deriving one
    from a worksheet object reference, i.e.,

    $Sheet->Parent->Parent->Run('myown');



  15. #15
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >so, what's the syntax to run a VBA macro that has arguments
    >
    >e.g. answer = dothis(a, b, c, d)
    >
    >Also, does any non-visible function (when I do Alt-F11) loaded through an
    >add-in become a VBA macro?


    Using Evaluate? It needs to look like a cell formula. If you have
    Excel, you should have Excel's online help, so you could use that to
    check the syntax. If you don't have Excel or its online help, you
    shouldn't be trying to automate Excel.

    Why don't you just enter the necessary formulas into Excel cells? If
    you have an add-in that provides a function named Takes4Arguments which
    (oddly enough) takes 4 arguments, you could use something like

    # xl_example.2.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Add;
    $ws = $wb->Worksheets(1);
    $ws->Cells(1,1)->{'Formula'} = "=Takes4Arguments(1,2,3,4)";
    $ws->Cells(2,1)->{'Value'} =
    $xl->Evaluate('=Takes4Arguments(1,2,3,4)');
    $xl->{'Visible'} = True;
    __END__
    # leave Excel app instance running


  16. #16
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Harlan

    thanks for the code. i tried it but always get this error:

    Win32::OLE(0.1502) error 0x800a01a8
    in METHOD/PROPERTYGET "" at valueTRS.pl line 40

    and the code at line 40 is:

    $Sheet->Run("myown"); # calculate all those rows

    do you know what's going on?

    -R



    "Harlan Grove" wrote:

    > newOLE wrote...
    > >I have an existing perl script that opens an excel sheet and writes stuff in
    > >it.
    > >
    > >but i cannot make it run a VB function that is inside it.
    > >
    > >can you send me a code sample for executing a VB function in Excel using perl

    >
    > Opens an *existing* workbook that contains VBA code in general modules?
    > If so, you should be able to use the Excel application class's Run
    > method. This works for me.
    >
    >
    > # xl_example.pl
    > use Win32::OLE;
    > $xl = Win32::OLE->CreateObject("Excel.Application");
    > $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > $xl->Run('foo'); #runs Sub foo
    > $zz = $xl->Run('bar'); #runs Function bar and stores its result
    > print $zz, "\n";
    > undef $wb;
    > undef $xl;
    >
    >


  17. #17
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    "newOLE" <[email protected]> wrote...
    >thanks for the code. i tried it but always get this error:
    >
    >Win32::OLE(0.1502) error 0x800a01a8
    > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    >
    >and the code at line 40 is:
    >
    >$Sheet->Run("myown"); # calculate all those rows
    >
    >do you know what's going on?

    ....
    >"Harlan Grove" wrote:

    ....
    >># xl_example.pl
    >>use Win32::OLE;
    >>$xl = Win32::OLE->CreateObject("Excel.Application");
    >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    >>$xl->Run('foo'); #runs Sub foo
    >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    >>print $zz, "\n";
    >>undef $wb;
    >>undef $xl;


    Is your $Sheet variable a reference to a worksheet object? If so, that's
    your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    Application class does. If you look at my code above you'll see that I call
    the Run method from the Excel application object $xl. Either you need use
    Run directly from an Excel application object reference or by deriving one
    from a worksheet object reference, i.e.,

    $Sheet->Parent->Parent->Run('myown');



  18. #18
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks. It turned out my error was i was closing the book before that.

    New question: how do i execute a function written with arguments passed and
    lay out its return parameters on a range of cells. This function is an Excel
    add-in. Does that require special processing?

    -R

    "Harlan Grove" wrote:

    > "newOLE" <[email protected]> wrote...
    > >thanks for the code. i tried it but always get this error:
    > >
    > >Win32::OLE(0.1502) error 0x800a01a8
    > > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    > >
    > >and the code at line 40 is:
    > >
    > >$Sheet->Run("myown"); # calculate all those rows
    > >
    > >do you know what's going on?

    > ....
    > >"Harlan Grove" wrote:

    > ....
    > >># xl_example.pl
    > >>use Win32::OLE;
    > >>$xl = Win32::OLE->CreateObject("Excel.Application");
    > >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > >>$xl->Run('foo'); #runs Sub foo
    > >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    > >>print $zz, "\n";
    > >>undef $wb;
    > >>undef $xl;

    >
    > Is your $Sheet variable a reference to a worksheet object? If so, that's
    > your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    > Application class does. If you look at my code above you'll see that I call
    > the Run method from the Excel application object $xl. Either you need use
    > Run directly from an Excel application object reference or by deriving one
    > from a worksheet object reference, i.e.,
    >
    > $Sheet->Parent->Parent->Run('myown');
    >
    >
    >


  19. #19
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    ....
    >New question: how do i execute a function written with arguments passed and
    >lay out its return parameters on a range of cells. This function is an Excel
    >add-in. Does that require special processing?

    ....

    At this point I have to question why you're screwing around with Perl
    to do this. You may be better off using Perl to do no more than start
    Excel and load the necessary workbooks. Then run a VBA macro in one of
    the workbooks to do what you need to do.

    However, if the add-in you need to use is automatically loaded by Excel
    (via settings made in Excel using Tools > Add Ins), you may need to use
    the Evaluate method of the Application class rather than the Run
    method. You'd need to make the argument to Evaluate look like a cell
    formula.


  20. #20
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >I have an existing perl script that opens an excel sheet and writes stuff in
    >it.
    >
    >but i cannot make it run a VB function that is inside it.
    >
    >can you send me a code sample for executing a VB function in Excel using perl


    Opens an *existing* workbook that contains VBA code in general modules?
    If so, you should be able to use the Excel application class's Run
    method. This works for me.


    # xl_example.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    $xl->Run('foo'); #runs Sub foo
    $zz = $xl->Run('bar'); #runs Function bar and stores its result
    print $zz, "\n";
    undef $wb;
    undef $xl;


  21. #21
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks

    so, what's the syntax to run a VBA macro that has arguments

    e.g. answer = dothis(a, b, c, d)

    Also, does any non-visible function (when I do Alt-F11) loaded through an
    add-in become a VBA macro?


    "Harlan Grove" wrote:

    > newOLE wrote...
    > ....
    > >New question: how do i execute a function written with arguments passed and
    > >lay out its return parameters on a range of cells. This function is an Excel
    > >add-in. Does that require special processing?

    > ....
    >
    > At this point I have to question why you're screwing around with Perl
    > to do this. You may be better off using Perl to do no more than start
    > Excel and load the necessary workbooks. Then run a VBA macro in one of
    > the workbooks to do what you need to do.
    >
    > However, if the add-in you need to use is automatically loaded by Excel
    > (via settings made in Excel using Tools > Add Ins), you may need to use
    > the Evaluate method of the Application class rather than the Run
    > method. You'd need to make the argument to Evaluate look like a cell
    > formula.
    >
    >


  22. #22
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    "newOLE" <[email protected]> wrote...
    >thanks for the code. i tried it but always get this error:
    >
    >Win32::OLE(0.1502) error 0x800a01a8
    > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    >
    >and the code at line 40 is:
    >
    >$Sheet->Run("myown"); # calculate all those rows
    >
    >do you know what's going on?

    ....
    >"Harlan Grove" wrote:

    ....
    >># xl_example.pl
    >>use Win32::OLE;
    >>$xl = Win32::OLE->CreateObject("Excel.Application");
    >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    >>$xl->Run('foo'); #runs Sub foo
    >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    >>print $zz, "\n";
    >>undef $wb;
    >>undef $xl;


    Is your $Sheet variable a reference to a worksheet object? If so, that's
    your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    Application class does. If you look at my code above you'll see that I call
    the Run method from the Excel application object $xl. Either you need use
    Run directly from an Excel application object reference or by deriving one
    from a worksheet object reference, i.e.,

    $Sheet->Parent->Parent->Run('myown');



  23. #23
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Harlan

    thanks for the code. i tried it but always get this error:

    Win32::OLE(0.1502) error 0x800a01a8
    in METHOD/PROPERTYGET "" at valueTRS.pl line 40

    and the code at line 40 is:

    $Sheet->Run("myown"); # calculate all those rows

    do you know what's going on?

    -R



    "Harlan Grove" wrote:

    > newOLE wrote...
    > >I have an existing perl script that opens an excel sheet and writes stuff in
    > >it.
    > >
    > >but i cannot make it run a VB function that is inside it.
    > >
    > >can you send me a code sample for executing a VB function in Excel using perl

    >
    > Opens an *existing* workbook that contains VBA code in general modules?
    > If so, you should be able to use the Excel application class's Run
    > method. This works for me.
    >
    >
    > # xl_example.pl
    > use Win32::OLE;
    > $xl = Win32::OLE->CreateObject("Excel.Application");
    > $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > $xl->Run('foo'); #runs Sub foo
    > $zz = $xl->Run('bar'); #runs Function bar and stores its result
    > print $zz, "\n";
    > undef $wb;
    > undef $xl;
    >
    >


  24. #24
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >so, what's the syntax to run a VBA macro that has arguments
    >
    >e.g. answer = dothis(a, b, c, d)
    >
    >Also, does any non-visible function (when I do Alt-F11) loaded through an
    >add-in become a VBA macro?


    Using Evaluate? It needs to look like a cell formula. If you have
    Excel, you should have Excel's online help, so you could use that to
    check the syntax. If you don't have Excel or its online help, you
    shouldn't be trying to automate Excel.

    Why don't you just enter the necessary formulas into Excel cells? If
    you have an add-in that provides a function named Takes4Arguments which
    (oddly enough) takes 4 arguments, you could use something like

    # xl_example.2.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Add;
    $ws = $wb->Worksheets(1);
    $ws->Cells(1,1)->{'Formula'} = "=Takes4Arguments(1,2,3,4)";
    $ws->Cells(2,1)->{'Value'} =
    $xl->Evaluate('=Takes4Arguments(1,2,3,4)');
    $xl->{'Visible'} = True;
    __END__
    # leave Excel app instance running


  25. #25
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks. It turned out my error was i was closing the book before that.

    New question: how do i execute a function written with arguments passed and
    lay out its return parameters on a range of cells. This function is an Excel
    add-in. Does that require special processing?

    -R

    "Harlan Grove" wrote:

    > "newOLE" <[email protected]> wrote...
    > >thanks for the code. i tried it but always get this error:
    > >
    > >Win32::OLE(0.1502) error 0x800a01a8
    > > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    > >
    > >and the code at line 40 is:
    > >
    > >$Sheet->Run("myown"); # calculate all those rows
    > >
    > >do you know what's going on?

    > ....
    > >"Harlan Grove" wrote:

    > ....
    > >># xl_example.pl
    > >>use Win32::OLE;
    > >>$xl = Win32::OLE->CreateObject("Excel.Application");
    > >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > >>$xl->Run('foo'); #runs Sub foo
    > >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    > >>print $zz, "\n";
    > >>undef $wb;
    > >>undef $xl;

    >
    > Is your $Sheet variable a reference to a worksheet object? If so, that's
    > your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    > Application class does. If you look at my code above you'll see that I call
    > the Run method from the Excel application object $xl. Either you need use
    > Run directly from an Excel application object reference or by deriving one
    > from a worksheet object reference, i.e.,
    >
    > $Sheet->Parent->Parent->Run('myown');
    >
    >
    >


  26. #26
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >I have an existing perl script that opens an excel sheet and writes stuff in
    >it.
    >
    >but i cannot make it run a VB function that is inside it.
    >
    >can you send me a code sample for executing a VB function in Excel using perl


    Opens an *existing* workbook that contains VBA code in general modules?
    If so, you should be able to use the Excel application class's Run
    method. This works for me.


    # xl_example.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    $xl->Run('foo'); #runs Sub foo
    $zz = $xl->Run('bar'); #runs Function bar and stores its result
    print $zz, "\n";
    undef $wb;
    undef $xl;


  27. #27
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    ....
    >New question: how do i execute a function written with arguments passed and
    >lay out its return parameters on a range of cells. This function is an Excel
    >add-in. Does that require special processing?

    ....

    At this point I have to question why you're screwing around with Perl
    to do this. You may be better off using Perl to do no more than start
    Excel and load the necessary workbooks. Then run a VBA macro in one of
    the workbooks to do what you need to do.

    However, if the add-in you need to use is automatically loaded by Excel
    (via settings made in Excel using Tools > Add Ins), you may need to use
    the Evaluate method of the Application class rather than the Run
    method. You'd need to make the argument to Evaluate look like a cell
    formula.


  28. #28
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks

    so, what's the syntax to run a VBA macro that has arguments

    e.g. answer = dothis(a, b, c, d)

    Also, does any non-visible function (when I do Alt-F11) loaded through an
    add-in become a VBA macro?


    "Harlan Grove" wrote:

    > newOLE wrote...
    > ....
    > >New question: how do i execute a function written with arguments passed and
    > >lay out its return parameters on a range of cells. This function is an Excel
    > >add-in. Does that require special processing?

    > ....
    >
    > At this point I have to question why you're screwing around with Perl
    > to do this. You may be better off using Perl to do no more than start
    > Excel and load the necessary workbooks. Then run a VBA macro in one of
    > the workbooks to do what you need to do.
    >
    > However, if the add-in you need to use is automatically loaded by Excel
    > (via settings made in Excel using Tools > Add Ins), you may need to use
    > the Evaluate method of the Application class rather than the Run
    > method. You'd need to make the argument to Evaluate look like a cell
    > formula.
    >
    >


  29. #29
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >so, what's the syntax to run a VBA macro that has arguments
    >
    >e.g. answer = dothis(a, b, c, d)
    >
    >Also, does any non-visible function (when I do Alt-F11) loaded through an
    >add-in become a VBA macro?


    Using Evaluate? It needs to look like a cell formula. If you have
    Excel, you should have Excel's online help, so you could use that to
    check the syntax. If you don't have Excel or its online help, you
    shouldn't be trying to automate Excel.

    Why don't you just enter the necessary formulas into Excel cells? If
    you have an add-in that provides a function named Takes4Arguments which
    (oddly enough) takes 4 arguments, you could use something like

    # xl_example.2.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Add;
    $ws = $wb->Worksheets(1);
    $ws->Cells(1,1)->{'Formula'} = "=Takes4Arguments(1,2,3,4)";
    $ws->Cells(2,1)->{'Value'} =
    $xl->Evaluate('=Takes4Arguments(1,2,3,4)');
    $xl->{'Visible'} = True;
    __END__
    # leave Excel app instance running


  30. #30
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks

    so, what's the syntax to run a VBA macro that has arguments

    e.g. answer = dothis(a, b, c, d)

    Also, does any non-visible function (when I do Alt-F11) loaded through an
    add-in become a VBA macro?


    "Harlan Grove" wrote:

    > newOLE wrote...
    > ....
    > >New question: how do i execute a function written with arguments passed and
    > >lay out its return parameters on a range of cells. This function is an Excel
    > >add-in. Does that require special processing?

    > ....
    >
    > At this point I have to question why you're screwing around with Perl
    > to do this. You may be better off using Perl to do no more than start
    > Excel and load the necessary workbooks. Then run a VBA macro in one of
    > the workbooks to do what you need to do.
    >
    > However, if the add-in you need to use is automatically loaded by Excel
    > (via settings made in Excel using Tools > Add Ins), you may need to use
    > the Evaluate method of the Application class rather than the Run
    > method. You'd need to make the argument to Evaluate look like a cell
    > formula.
    >
    >


  31. #31
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks. It turned out my error was i was closing the book before that.

    New question: how do i execute a function written with arguments passed and
    lay out its return parameters on a range of cells. This function is an Excel
    add-in. Does that require special processing?

    -R

    "Harlan Grove" wrote:

    > "newOLE" <[email protected]> wrote...
    > >thanks for the code. i tried it but always get this error:
    > >
    > >Win32::OLE(0.1502) error 0x800a01a8
    > > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    > >
    > >and the code at line 40 is:
    > >
    > >$Sheet->Run("myown"); # calculate all those rows
    > >
    > >do you know what's going on?

    > ....
    > >"Harlan Grove" wrote:

    > ....
    > >># xl_example.pl
    > >>use Win32::OLE;
    > >>$xl = Win32::OLE->CreateObject("Excel.Application");
    > >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > >>$xl->Run('foo'); #runs Sub foo
    > >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    > >>print $zz, "\n";
    > >>undef $wb;
    > >>undef $xl;

    >
    > Is your $Sheet variable a reference to a worksheet object? If so, that's
    > your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    > Application class does. If you look at my code above you'll see that I call
    > the Run method from the Excel application object $xl. Either you need use
    > Run directly from an Excel application object reference or by deriving one
    > from a worksheet object reference, i.e.,
    >
    > $Sheet->Parent->Parent->Run('myown');
    >
    >
    >


  32. #32
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    ....
    >New question: how do i execute a function written with arguments passed and
    >lay out its return parameters on a range of cells. This function is an Excel
    >add-in. Does that require special processing?

    ....

    At this point I have to question why you're screwing around with Perl
    to do this. You may be better off using Perl to do no more than start
    Excel and load the necessary workbooks. Then run a VBA macro in one of
    the workbooks to do what you need to do.

    However, if the add-in you need to use is automatically loaded by Excel
    (via settings made in Excel using Tools > Add Ins), you may need to use
    the Evaluate method of the Application class rather than the Run
    method. You'd need to make the argument to Evaluate look like a cell
    formula.


  33. #33
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    "newOLE" <[email protected]> wrote...
    >thanks for the code. i tried it but always get this error:
    >
    >Win32::OLE(0.1502) error 0x800a01a8
    > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    >
    >and the code at line 40 is:
    >
    >$Sheet->Run("myown"); # calculate all those rows
    >
    >do you know what's going on?

    ....
    >"Harlan Grove" wrote:

    ....
    >># xl_example.pl
    >>use Win32::OLE;
    >>$xl = Win32::OLE->CreateObject("Excel.Application");
    >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    >>$xl->Run('foo'); #runs Sub foo
    >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    >>print $zz, "\n";
    >>undef $wb;
    >>undef $xl;


    Is your $Sheet variable a reference to a worksheet object? If so, that's
    your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    Application class does. If you look at my code above you'll see that I call
    the Run method from the Excel application object $xl. Either you need use
    Run directly from an Excel application object reference or by deriving one
    from a worksheet object reference, i.e.,

    $Sheet->Parent->Parent->Run('myown');



  34. #34
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Harlan

    thanks for the code. i tried it but always get this error:

    Win32::OLE(0.1502) error 0x800a01a8
    in METHOD/PROPERTYGET "" at valueTRS.pl line 40

    and the code at line 40 is:

    $Sheet->Run("myown"); # calculate all those rows

    do you know what's going on?

    -R



    "Harlan Grove" wrote:

    > newOLE wrote...
    > >I have an existing perl script that opens an excel sheet and writes stuff in
    > >it.
    > >
    > >but i cannot make it run a VB function that is inside it.
    > >
    > >can you send me a code sample for executing a VB function in Excel using perl

    >
    > Opens an *existing* workbook that contains VBA code in general modules?
    > If so, you should be able to use the Excel application class's Run
    > method. This works for me.
    >
    >
    > # xl_example.pl
    > use Win32::OLE;
    > $xl = Win32::OLE->CreateObject("Excel.Application");
    > $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > $xl->Run('foo'); #runs Sub foo
    > $zz = $xl->Run('bar'); #runs Function bar and stores its result
    > print $zz, "\n";
    > undef $wb;
    > undef $xl;
    >
    >


  35. #35
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >I have an existing perl script that opens an excel sheet and writes stuff in
    >it.
    >
    >but i cannot make it run a VB function that is inside it.
    >
    >can you send me a code sample for executing a VB function in Excel using perl


    Opens an *existing* workbook that contains VBA code in general modules?
    If so, you should be able to use the Excel application class's Run
    method. This works for me.


    # xl_example.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    $xl->Run('foo'); #runs Sub foo
    $zz = $xl->Run('bar'); #runs Function bar and stores its result
    print $zz, "\n";
    undef $wb;
    undef $xl;


  36. #36
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >so, what's the syntax to run a VBA macro that has arguments
    >
    >e.g. answer = dothis(a, b, c, d)
    >
    >Also, does any non-visible function (when I do Alt-F11) loaded through an
    >add-in become a VBA macro?


    Using Evaluate? It needs to look like a cell formula. If you have
    Excel, you should have Excel's online help, so you could use that to
    check the syntax. If you don't have Excel or its online help, you
    shouldn't be trying to automate Excel.

    Why don't you just enter the necessary formulas into Excel cells? If
    you have an add-in that provides a function named Takes4Arguments which
    (oddly enough) takes 4 arguments, you could use something like

    # xl_example.2.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Add;
    $ws = $wb->Worksheets(1);
    $ws->Cells(1,1)->{'Formula'} = "=Takes4Arguments(1,2,3,4)";
    $ws->Cells(2,1)->{'Value'} =
    $xl->Evaluate('=Takes4Arguments(1,2,3,4)');
    $xl->{'Visible'} = True;
    __END__
    # leave Excel app instance running


  37. #37
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks

    so, what's the syntax to run a VBA macro that has arguments

    e.g. answer = dothis(a, b, c, d)

    Also, does any non-visible function (when I do Alt-F11) loaded through an
    add-in become a VBA macro?


    "Harlan Grove" wrote:

    > newOLE wrote...
    > ....
    > >New question: how do i execute a function written with arguments passed and
    > >lay out its return parameters on a range of cells. This function is an Excel
    > >add-in. Does that require special processing?

    > ....
    >
    > At this point I have to question why you're screwing around with Perl
    > to do this. You may be better off using Perl to do no more than start
    > Excel and load the necessary workbooks. Then run a VBA macro in one of
    > the workbooks to do what you need to do.
    >
    > However, if the add-in you need to use is automatically loaded by Excel
    > (via settings made in Excel using Tools > Add Ins), you may need to use
    > the Evaluate method of the Application class rather than the Run
    > method. You'd need to make the argument to Evaluate look like a cell
    > formula.
    >
    >


  38. #38
    newOLE
    Guest

    code sample for executing a VB function in Excel using perl

    I have an existing perl script that opens an excel sheet and writes stuff in
    it.

    but i cannot make it run a VB function that is inside it.

    can you send me a code sample for executing a VB function in Excel using perl

  39. #39
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    ....
    >New question: how do i execute a function written with arguments passed and
    >lay out its return parameters on a range of cells. This function is an Excel
    >add-in. Does that require special processing?

    ....

    At this point I have to question why you're screwing around with Perl
    to do this. You may be better off using Perl to do no more than start
    Excel and load the necessary workbooks. Then run a VBA macro in one of
    the workbooks to do what you need to do.

    However, if the add-in you need to use is automatically loaded by Excel
    (via settings made in Excel using Tools > Add Ins), you may need to use
    the Evaluate method of the Application class rather than the Run
    method. You'd need to make the argument to Evaluate look like a cell
    formula.


  40. #40
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Thanks. It turned out my error was i was closing the book before that.

    New question: how do i execute a function written with arguments passed and
    lay out its return parameters on a range of cells. This function is an Excel
    add-in. Does that require special processing?

    -R

    "Harlan Grove" wrote:

    > "newOLE" <[email protected]> wrote...
    > >thanks for the code. i tried it but always get this error:
    > >
    > >Win32::OLE(0.1502) error 0x800a01a8
    > > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    > >
    > >and the code at line 40 is:
    > >
    > >$Sheet->Run("myown"); # calculate all those rows
    > >
    > >do you know what's going on?

    > ....
    > >"Harlan Grove" wrote:

    > ....
    > >># xl_example.pl
    > >>use Win32::OLE;
    > >>$xl = Win32::OLE->CreateObject("Excel.Application");
    > >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > >>$xl->Run('foo'); #runs Sub foo
    > >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    > >>print $zz, "\n";
    > >>undef $wb;
    > >>undef $xl;

    >
    > Is your $Sheet variable a reference to a worksheet object? If so, that's
    > your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    > Application class does. If you look at my code above you'll see that I call
    > the Run method from the Excel application object $xl. Either you need use
    > Run directly from an Excel application object reference or by deriving one
    > from a worksheet object reference, i.e.,
    >
    > $Sheet->Parent->Parent->Run('myown');
    >
    >
    >


  41. #41
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    "newOLE" <[email protected]> wrote...
    >thanks for the code. i tried it but always get this error:
    >
    >Win32::OLE(0.1502) error 0x800a01a8
    > in METHOD/PROPERTYGET "" at valueTRS.pl line 40
    >
    >and the code at line 40 is:
    >
    >$Sheet->Run("myown"); # calculate all those rows
    >
    >do you know what's going on?

    ....
    >"Harlan Grove" wrote:

    ....
    >># xl_example.pl
    >>use Win32::OLE;
    >>$xl = Win32::OLE->CreateObject("Excel.Application");
    >>$wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    >>$xl->Run('foo'); #runs Sub foo
    >>$zz = $xl->Run('bar'); #runs Function bar and stores its result
    >>print $zz, "\n";
    >>undef $wb;
    >>undef $xl;


    Is your $Sheet variable a reference to a worksheet object? If so, that's
    your problem. Excel's Worksheet class doesn't have a Run method, Excel's
    Application class does. If you look at my code above you'll see that I call
    the Run method from the Excel application object $xl. Either you need use
    Run directly from an Excel application object reference or by deriving one
    from a worksheet object reference, i.e.,

    $Sheet->Parent->Parent->Run('myown');



  42. #42
    newOLE
    Guest

    Re: code sample for executing a VB function in Excel using perl

    Harlan

    thanks for the code. i tried it but always get this error:

    Win32::OLE(0.1502) error 0x800a01a8
    in METHOD/PROPERTYGET "" at valueTRS.pl line 40

    and the code at line 40 is:

    $Sheet->Run("myown"); # calculate all those rows

    do you know what's going on?

    -R



    "Harlan Grove" wrote:

    > newOLE wrote...
    > >I have an existing perl script that opens an excel sheet and writes stuff in
    > >it.
    > >
    > >but i cannot make it run a VB function that is inside it.
    > >
    > >can you send me a code sample for executing a VB function in Excel using perl

    >
    > Opens an *existing* workbook that contains VBA code in general modules?
    > If so, you should be able to use the Excel application class's Run
    > method. This works for me.
    >
    >
    > # xl_example.pl
    > use Win32::OLE;
    > $xl = Win32::OLE->CreateObject("Excel.Application");
    > $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    > $xl->Run('foo'); #runs Sub foo
    > $zz = $xl->Run('bar'); #runs Function bar and stores its result
    > print $zz, "\n";
    > undef $wb;
    > undef $xl;
    >
    >


  43. #43
    Harlan Grove
    Guest

    Re: code sample for executing a VB function in Excel using perl

    newOLE wrote...
    >I have an existing perl script that opens an excel sheet and writes stuff in
    >it.
    >
    >but i cannot make it run a VB function that is inside it.
    >
    >can you send me a code sample for executing a VB function in Excel using perl


    Opens an *existing* workbook that contains VBA code in general modules?
    If so, you should be able to use the Excel application class's Run
    method. This works for me.


    # xl_example.pl
    use Win32::OLE;
    $xl = Win32::OLE->CreateObject("Excel.Application");
    $wb = $xl->Workbooks->Open('d:/test/deleteme.xls');
    $xl->Run('foo'); #runs Sub foo
    $zz = $xl->Run('bar'); #runs Function bar and stores its result
    print $zz, "\n";
    undef $wb;
    undef $xl;


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1