Editer plusieurs doc Word
Bonjour,
Je suis en train de vouloir editer plusieurs documents '.doc' au sein de mon application via la methode :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public void loadFiles(File files) {
if (files == null) {
files = new ArrayList<File >();
} else {
files = new ArrayList<File >(files);
}
clientsSite = new Hashtable<String, OleClientSite>();
selectedFileIndex = 0;
parent.getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
// create every OLE file
for (File file: files) {
clientsSite.put(file.getAbsolutePath(), new OleClientSite(oleFrame,
SWT.NONE, "Word.Document", file));
}
// open the current file
openCurrent();
}
} |
et on ouvre le doc courant via :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
private void openCurrent() {
File file = getCurrentFile();
if (file != null) {
OleClientSite currentClientSite = clientsSite.get(file.getAbsolutePath());
if (currentClientSite == null) {
currentClientSite = new OleClientSite(oleFrame, SWT.NONE, "Word.Document", file);
clientsSite.put(file.getAbsolutePath(), currentClientSite);
}
currentClientSite.setFocus();
}
} |
Cela marche plutot bien !
J'ai ajouter des boutons permettant de naviguer d'un doc a l'autre via
la maj d'un index :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public void openNext() throws SaveFileException {
if (hasNext()) {
selectedFileIndex++;
openCurrent();
}
}
public void previous() throws SaveFileException {
if (hasPervious()) {
selectedFileIndex--;
openCurrent();
}
} |
Ok !
Deja, y'a t il mieux pour faire cela?
(le chargement de plusieurs docs prend pas mal de temps ...)
Sinon, mon pb est que via un autre bouton je peux creer un nouveau document '.doc' dans mon rep, et j'aimerai l'ajouter a ma collection de files, en rappelant la méthode loadFiles decrite plus haut.
Dans ce cas la, l'ecran est comme fige, je ne peux plus naviguer sur mes differents documents ! Oblige de quitter la fenetre pour la reouvrir pour
que ca marche ...
une idee?
Merci