Jump to content
  • 0

excel bestanden openen


pjotter

Question

Ik heb een 600 excel bestanden die ik wil zoeken en openen via FM7.

De bestanden staan op een server in verschillenden mappen die vaak veranderen.

Nu dacht ik dit op te lossen door per dag/week het FM bestand bij te werken door een import van een tekst bestand.

Via dos maak ik diverse tekst bestanden aan die ik dan importeer,

bv Dir "Z:\mapen\Totaal test \machine 1\*.xls" /s /b >C:\WINDOWS\temp\PUD\FoundFiles_1.txt

het gemaakte tekst bestand "Foundfiles_1.txt" importeer ik vervolgens in mijn FM bestand zodat ik een keurig actueel overzicht blijf houden. Om de bestanden te openen dacht ik dus te filter op de naam van het bestand en gebruik die samen met het gevonden PAD (via Foundfiles) via een sent event. Helaas werkt dit niet zoals ik bedoelt had.

 

Ik heb het met een container geprobeerd en het bestand er dan in plaatsen als reference dat werkt uiteraard prima. Vervolgens kijk ik naar de info van de container (GetAsText(container)) dan is deze hetzelfde als de sent event die ik gebruik?

 

Ik heb een voorbeeld waarin het gele vlak gewoon de container is met een bestand als reference met daarnaast de info van getasText.

 

Daaronder de teksten zoals ik die krijg van de import en het filter met daaronder het samen gestelde veld van die twee. Tenslotte daar weer onder een container dat gevuld wordt vanuit dat samen gestelde veld. Het bestand uit de tweede container is gewoon te openen zonder problemen dus het samen gestelde veld moet goed zijn? Wat zou de reden kunnen zijn dat sent event niet werkt?

(ik werk nu dus met openen via container 2 maar begrijp niet goed waarom sent event niet doet wat ik verwacht?)

5a758dc928b2f_Afbeelding2.jpg.2d09af1243c54ae383f2985a771fae69.jpg

Link to comment

12 answers to this question

Recommended Posts

  • 0

Hoi Pjotter,

 

Volgens mij werkt SendEvent niet op de Mac.

Trouwens ook op Windows heeft Send Event een zeker format bijv:

 

RunDLL32 shell32.dll,ShellExec_RunDLL cmd.exe /Q /C c:\mijnsheet.xls

 

Waarom open je die bestandjes niet in een webviewer?

Oh, ja v.7.

In je webviewer geeft je dan het referentieveld op waarin je referentie:

file:\C\mijnsheet.xls en je ziet direct je excel bestandje in je viewer zonder eerst Excel aan te roepen.

 

gr,

Arnoud

Link to comment
  • 0
Waarom open je die bestandjes niet in een webviewer?

Oh, ja v.7.

In je webviewer geeft je dan het referentieveld op waarin je referentie:

file:\C\mijnsheet.xls en je ziet direct je excel bestandje in je viewer zonder eerst Excel aan te roepen.

 

Filemaker 7 had geen webviewer dit is enkel vanaf Filemaker 8.5 .

 

 

mvg

Glenn

Link to comment
  • 0

Glenn,

 

Versie 7 had inderdaad nog geen webviewer dat realiseerde ik

me later ook vandaar mijn toevoeging: "Oh ja v.7"

Ik kan mij voorstellen dat anderen de creatieve aanpak van

Pjotter willen volgen. Ik wilde hen daarom wijzen op de mogelijkheid van de webviewer.

Ik heb die info daarom niet weggehaald.

 

gr,

Arnoud

Link to comment
  • 0

Het moet inderdaad draaien onder versie 7.

Het is gewoon vreemd dat het niet werkt?

Dat ik het voorbeeld op de mac heb is niet van belang het moet gewoon werken op de PC en daar werkt het niet. (vindt het gewoon makkelijker om te werken op de mac voor de plaatjes te maken :) )

Link to comment
  • 0

Bij de tekst die je moet invullen staat de tekst in het onderste vak.

Dus excel.exe, Filename, Bestandspad Er staan wel veel spaties in het bestandspad kan dat het probleem zijn?

Naam van het bestand is : open bestand.xls dan krijg ik de melding:

: the file 'open" could not be found......

Link to comment
  • 0

Een paar post geleden gaf ik je al het format voor een SE:

 

RunDLL32 shell32.dll,ShellExec_RunDLL cmd.exe /Q /C c:\mijnsheet.xls

 

Probeer dit eerst uit voordat je met spaties gaat werken.

 

Als je een pad hebt waarin spaties voorkomen moet je dat gedeelte

voorzien van quotes.

Dus: C:\"Program Files"\Filemaker\Pjotter.exe

 

Vista gaat anders met quotes om dan XP.

Zie hiervoor deze thread:

http://www.clarify.net/viewtopic.php?t=5500&start=0&postdays=0&postorder=asc&highlight=

Link to comment
  • 0

Dan gaat het lastig worden.

Het pad is niet altijd hetzelfde (wel vaak spaties), het bestand heeft vaak spaties maar ook niet altijd!. Verder werken we nu met XP maar wil men over 1 jaar naar vista overstappen. Wie weet wat we dan weer allemaal mee gaan maken, met name om onze acces (97) bestanden maak ik mij dan zorgen. Toen we 3 jaar geleden over gingen van 98 naar XP was het een puinhoop!

 

Ik verlaat send event maar en ze moeten de container maar gebruiken om te openen! Ik dacht al ik kom zo weinig vragen over send event tegen hier op het forum zal wel weinig worden gebruikt :)

Link to comment
  • 0
Ik verlaat send event maar en ze moeten de container maar gebruiken om te openen! Ik dacht al ik kom zo weinig vragen over send event tegen hier op het forum zal wel weinig worden gebruikt

Integendeel, Send Event wordt - naar mijn mening - vaak gebruikt en is 1 van de wegen om FileMaker met andere toepassingen te integreren, op Windows dan toch, via batch of vbs bestanden bv.. Je kan bijvoorbeeld op Windows de meeste FTP commands uitvoeren zonder plugin, maar met de Send Event script stap, gebruik makend van ftp.exe.

 

Als er hier op het forum weinig vragen over gesteld worden, dan heeft dat denk ik meer te maken heeft het bij Send Event meer gaat over andere kennis (shell commands, VBScript, ...) die op dit forum enigszins off topic is.

 

Om terug te komen op je oorspronkelijke vraag, spaties in je pad vang je vrij eenvoudig op door in je Send Event script stap een calculation te specifiëren, en rondom je bestandspad aanhalingstekens (") te plaatsen door ze zgn. te "escapen" dmv de backslash, als volgt:

Send Event["aevt";"odoc"; "cmd /C \"C:\Mijn pad\Mijn document met spaties.doc\""]

 

Let goed op de 2 keer "\"" rondom het pad, dit is cruciaal. Je specifieert in FileMaker vaste tekst met aanhalingstekens. "Dag Clarify", geeft terug:

Dag Clarify

Je moet op een speciale manier, door het aanhalingsteken te laten voorafgaan door een '\', aan FileMaker duidelijk maken dat je in je output de aanhalingstekens zélf ook wil gebruiken in je output. "Dag \"Clarify\"", geeft terug:

Dag "Clarify"

Noteer ook de verkorte syntax ("cmd") om cmd.exe op te roepen, wat perfect werkt vanaf Win 2000

 

- Jeroen

Link to comment
  • 0

Jeroen,

Bedankt voor de aanvulling. Het aanpassen van de aanhalings tekens is inderdaad wel mogelijk. Probleem is echter dat het pad niet vast staat. De excel bestanden staan wisselend op een netwerkschijf. Het enige vaste gegeven is dat het bestand staat op: Z:\productie\PO\ daarna wisselen de bestanden van map. Dat is ook de reden waarom ik via een (dos) bat bestandje deze er uit filter. Dan filter ik het bestand en het pad er uit zodat het bestand als referentie in de container komt. (gevonden PAD naam met als bestand alles wat na de laatste \ komt)

Deze manier van werken moeten we nog ongeveer 2 jaar hanteren is het vermoeden. Het is de bedoeling over te stappen op SAP waar vanuit meer mogelijk is voor de productie. Ik ga echter wel met je opmerking aan de gang.

Link to comment
  • 0
Ok, succes ermee. Je bent er bijna zou ik zeggen!

 

Aangezien je in de Send Event script stap een calculation gebruikt, is een veranderlijk pad helemaal geen probleem:

"cmd /C \"" & DocTabel::Bestandspad & "\""

of zoiets

 

- Jeroen

 

Het hoeft geen betoog dat een gecertifieerde developer status moet verdiend worden !!

Ik vraag me af waar ik meer van dergelijke geweldige (cmd) tips kan vinden :roll:

 

Bedankt Jeroen !!!

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...