[ Jovica1234 @ 02.02.2014. 11:11 ] @
Imam problem sa ocuvanjem strukture Excel file-ova u folderima/subfolderima.
Fajlovi su svi medjusobno povezani --- celija iz jednog upucujue na celiju iz drugog (ima ih oko 20-tak) i rastrkani u 10-tak folder/subfoldera.
Glavni folder u kom se svi nalaze nek se zove blanko.
Za svakog klijenta otvaram novi folder i sadrzaj blanko foldera kopiram u taj novi folder, medjutim
Excel file-ovi ne menjaju path da vuku podatke iz novog foldera vec su i dalje povezani sa onima iz Blanko foldera.

To mu dodje kao apsolutna vrednost samo ne na nivou celija vec na nivou file-ova.

Ne znam sta da radim. Cak i kad probam da povezem dva nova xlsx-a jednom celijom i iskopiram ih u bilo koji drugi folder veza upucuje na stari folder.

Hvala unapred.
[ Jovica1234 @ 02.02.2014. 11:19 ] @
Izvinjavam se ako postoji edit dugme, nisam ga nasao.

Zaboravio sam da kazem da se ponekad putanja apdejtuje ka novom folderu, ponekad ne.
Skoro sam radio nesto drugo, samo 4 file-a, koja se kopiraju u novi folder batch skriptom i
sve radi bez problema Excel izvrsi update putanje ka file-ovima u novom folderu...stvarno ne znam od cega to zavisi?
[ 3okc @ 02.02.2014. 11:35 ] @
Citat:
Jovica1234: Glavni folder u kom se svi nalaze nek se zove blanko.

To što ti zoveš "blanko", uobičajeno se naziva koreni direktorijum ili eng. root. S obzirom na ime ('blanko') pretpostavljam da se radi ili o praznim folderima ili eventualno sadrže opšte fajlove.

Potrebno je da zameniš apsolutne reference, relativnim.

Najbolji način da ih nađeš jeste da tražiš ime tog "blanko" direktorijuma jer, s obzirom da od njega polaziš, to ime ne bi trebalo da se igde vidi. Zamena za "tekući direktorijum" je "tačka", piše se ./

Odnosno, u kontekstu putanje do pod-foldera/fajla, pisaćeš

Code:
"./podfolder1/fajl_a.txt"
"./podfolder2/fajl_b.txt"
"./podfolder itd/fajl_v.txt"
[ Jovica1234 @ 02.02.2014. 11:58 ] @
Izgleda da se nismo razumeli, Blanko folder je root svih Excel file-ova+subfoldera sa zajednickom namenom.
Znaci C:\Temp\Blanko (root-koji sadrzi sve file-ove i foldere) i ciji sadrzaj kopiram u npr. c:\Temp2\
sada file c:\Temp2\1.xlsx, koji je povezan sa c:\Temp2\2.xlsx umesto da vuce podatak iz c:\Temp2\2.xlsx,
on i dalje vuce podatke iz C:\Temp\Blanko\2.xlsx.

Kopiranjem kompletnog sadrzaja Blanko (root) foldera u Temp2 (root) folder nije doslo do automatskog apdejta
linkova unutar Excel file-a.

Da zaista ne postoji resenje mogao bih da koristim VBA replace ili update linka ka novoj putanji, ali to bi bilo
besmisleno za toliko file-ova.

Ako mozes na primeru da mi pokazes kako da zamenim reference, ovo je vrednost celije A1 file-a 1.xlsx
='C:\Temp\Blanko\[2.xlsx]Sheet1'!$A$1

Brisanjem "$" nisam uspeo da rasim problem.

...
Izgleda da Excel konvertuje relativnu putanju u apsolutnu pod odredjenim uslovima...
...probao sam move cele strukture u novi folder i dalje path upucuje na workbook koji se sada vise ne postoji.







[Ovu poruku je menjao Jovica1234 dana 02.02.2014. u 13:14 GMT+1]
[ 3okc @ 02.02.2014. 14:37 ] @
Prema svemu što sam pročitao, izgleda da Excel inicijalno čuva relativne adrese -- s obzirom da je "svima ostalima" problem kako da ih pretvore u apsolutne.

Pokušaj da ne prebacuješ kompletan "blanko" folder nego uđi u njega i onda obeleži sve pa ih tako prekopiraj.

Takođe, preporučio bih:
Description of link management and storage in Excel
Excel 2007 - Working with external links
[ Jovica1234 @ 02.02.2014. 15:33 ] @
@3okc Tako i kopiram file-ove...samo sadrzaj bez root-a i nista, problem i dalje ostaje.

Ako sam dobro shvatio iz svega sto sam procitao na net-u, nemoguce je upravljati apsolutnom/relativnom referencom linkova kao kada su celije u pitanju
vec Excel sam donosi tu odluku na osnovu okolnosti source i ostalih file-ova.

Izgleda da source file mora biti u root-u da bi struktura bila ocuvana jer u tom slucaju Excel memorise samo putanju koja je relativna od source file-a
ukoliko je source u drugom nivou strukture foldera (subfolder) tada Excel memorise vezu kao apsolutnu, odnosno ceo path.

Ukoliko neko zna kako da se to zaobidje bilo bi sjajno.

P.S. Moguce je upisati putanju u svaki link tipa =cell(filename) i da se link automatski menja u zavisnosti od
trenutne lokacije putem VBA, ali sve je to isuvise komplikovano kada mi je samo jedan workbook povezan sa 5-6 drugih itd.