1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| function LireCellule() {
# 2 Formes d'utilisations
# 1ère forme
# Adresse Adresse d'une cellule de type "A8"
# 2ème forme
# Adresse d'une cellule de type "$3$4"; (L3C4
# Ligne Ligne de la cellule
# Colonne Colonne de la cellule
# --------------------------------------------------------------- Analyse des paramètres
if (func_num_args() == 0) { # Adresse vide
$this->_Erreur = "L'adresse fournie est vide";
} else {
$this->_Erreur = ""; # Raz de l'erreur à priori
$Exception = "com_exception";
try {
# ....................................................... Fournir l'Adresse en une seule variable
if (func_num_args() == 1) {
$Adresse = func_get_arg(0);
$this->_Cellule = $this->_Feuille->Range($Adresse);
} else {
# ................................................... Fournir l'Adresse en LIGNE et en COLONNE
$Ligne = func_get_arg(0);
$Colonne = func_get_arg(1);
$this->_Cellule = $this->_Feuille->Cells($Ligne,$Colonne);
}
# ------------------------------------------------------- Récupération des données
$Valeur = $this->_Cellule->Value; # Lecture de la CELLULE ?
if (is_object($Valeur)) {
# $Comment = $this->_Cellule->Comment; # Plus simple que Valeur ?
$Erreur = $this->_Cellule->ShowErrors;
$Valeur2 = $this->_Cellule->Value2; # Valeur non formatée
$Format = $this->_Cellule->NumberFormat; # Format de la cellule
if ($Format == "jj\\/mm\\/aaaa") { # Heure française
$Valeur = $Erreur; # C'est celle qu'on utilise alors
} else {
# OL ETUDE en cours: Erreur de manipulation de ->ShowErrors en string
# var_export($Erreur);
# echo br;
# var_export($Valeur2);
# echo br;
# echo "Format:".$Format.br;
# echo "Onglet:".$this->_Onglet.br;
# $this->_Erreur = "Objet COM (Onglet:".$this->_Onglet.") sur la cellule:".$Adresse.", analyse incomplète pour l'instant (Erreur:".$Erreur.")"; # A interpréter plus tard !
$this->_Erreur = "Objet COM (Onglet:".$this->_Onglet.") , erreur non récupérable dans la cellule ".$Adresse;
}
} else {
if (is_array($Valeur)) {
$Erreur = $this->_Cellule->Value2;
$this->_Erreur = "Tableau COM (Onglet:".$this->_Onglet.") sur la cellule:".$Adresse.", analyse incomplète pour l'instant (Erreur:".$Erreur.")"; # A interpréter plus tard !
}
}
}
catch (Exception $Exception) { # Gestion d'erreur COM
$this->_Erreur = $Exception->getCode().", Message:".$Exception->getMessage()."; Fichier:".$Exception->getFile()."; ligne:".$Exception->getLine();
}
}
return $Valeur;
} |
Partager