locked
Cum deschid un fisier Excel apasand un buton din browser(Internet Explorer) folosind macro? RRS feed

  • Întrebare

  • Buna ziua!

    Am de facut o aplicatie in broser care trebuie, in prima faza sa imi deschida un fisier Excel la apasarea unui buton. Problema este ca nu am voie sa folosesc un server deci nu pot folosi limbaje care pot rula numai pe server(PHP, VBScript etc.). Trebuie sa precizez ca trebuie sa ma folosesc de macrouri.

    Am creat macroul care deschide workbookul dar nu reusesc sa il leg de buton. Am incercat folosid JavaScript dar nu functioneaza pana la capat in sensul ca imi deschide Microsoft Excel dar nu si workbookul.

    <html>

      <body>

        <form name="form1">
          <input type=button onClick="test()" value="Deschide excel">
          <br><br>
        </form>

        <script type="text/javascript">
        
     
    function test() {  
     
        var objExcel;
    objExcel = new ActiveXObject("Excel.Application");
    objExcel.Visible = true;
    objExcel.Workbooks.Open("D:\FisierXL.xlsm");

     } 

         </script>

       </body>
    </html>

    Orice sfat sau idee este binevenita. Multumesc!

    miercuri, 6 mai 2015 05:03

Răspunsuri

  • Folosind codul tau cu un Copy/Paste intr-un fisier .html apare o eroare de Path in Consola explorerului.

    Modific ceea ce ti-am spus mai sus si merge fara probleme.

    Testul l-am facut in Internet Explorer 11.

    Iti dau un exemplu poate nu m-am exprimat corect.

    Tu ai ruta asta a unui fisier:  D:\UnFolder\AltFolder\FisierulMeu.xlsm

    Ruta modificata ar fi asta:   D:\\UnFolder\\AltFolder\\FisierulMeu.xlsm

    Deschide panoul pentru Developeri in IE, si vezi acolo ce eroare iti apare cand faci click pe buton (apasa F12 cand esti in pagina ta, ca sa iti apara panoul despre care iti vorbesc).

    Salut.



    miercuri, 6 mai 2015 11:19

Toate mesajele

  • Salut Ionut,

    ai grija la pathul fisierului iti lipseste o bara:

    objExcel.Workbooks.Open("D:\\FisierXL.xlsm");

    nu

    objExcel.Workbooks.Open("D:\FisierXL.xlsm");

    '  \  ' este un escape character in JavaScript.

    Ar trebui sa-ti mearga asa. (apropo, solutia asta este valabila doar pentru Internet Explorer)

    Salut.



    miercuri, 6 mai 2015 07:50
  • Rezultatul este acelasi. Nu cred ca acolo este greseala deoarece am ales calea din propietatile fisierului. Multumesc pentru ca ai incercat.


    miercuri, 6 mai 2015 10:54
  • Folosind codul tau cu un Copy/Paste intr-un fisier .html apare o eroare de Path in Consola explorerului.

    Modific ceea ce ti-am spus mai sus si merge fara probleme.

    Testul l-am facut in Internet Explorer 11.

    Iti dau un exemplu poate nu m-am exprimat corect.

    Tu ai ruta asta a unui fisier:  D:\UnFolder\AltFolder\FisierulMeu.xlsm

    Ruta modificata ar fi asta:   D:\\UnFolder\\AltFolder\\FisierulMeu.xlsm

    Deschide panoul pentru Developeri in IE, si vezi acolo ce eroare iti apare cand faci click pe buton (apasa F12 cand esti in pagina ta, ca sa iti apara panoul despre care iti vorbesc).

    Salut.



    miercuri, 6 mai 2015 11:19
  • Mii de multumiri Cristian, functioneaza. Urmatorul lucru pe care il am de facut este un macro care imi ia datele din Excel si mi le introduce intr-un table existent in Access. Legatura trebuie pastrata in asa fel incat atunci cand adaug sau sterg randuri din Excel sa se actualizeze si tabelul Access. Ma gandesc ca trebuie facut is asa fel incat sa pot alege worsheeturi si coloane specifice din acestea.

    Macroul trebuie sa ruleze la apasarea unui buton ca cel facut mai inainte. Stiu ca macrourile pot fi facute sa se execute automat cand este deschis fisierul Excel si ma gandeam sa pun in spatele butonului acest fisier Excel si sa il fac invizibil astfel incat tot procesul sa se desfasoare "in spate".

    Momentan caut o cale de a face exportul din Excel.


    joi, 7 mai 2015 06:01
  • Ma bucur ca ti-a fost de folos.

    Arunca o privire aici: https://www.youtube.com/watch?v=fA4YqlhWgcM

    Sar putea sa iti dea o idee de cum ai putea face asta intr-un mod mult mai simplu, fara macro.

    (Apropo, pentru noi intrebari este bine sa deschizi alte posturi pe forum.)

    Salut.


    joi, 7 mai 2015 07:24