Comment copier une ligne d'une feuille de calcul google vers une autre feuille de calcul Google à l'aide du script google apps?
Bonjour
Je voulais copier une ligne particulière d'une feuille de calcul à une autre feuille de calcul à l'aide de google apps script.Quelqu'un peut-il m'aider à obtenir la réponse à cette question.
source d'informationauteur Ani
Vous devez vous connecter pour publier un commentaire.
Consultez la documentation ici:
http://code.google.com/googleapps/appsscript/service_spreadsheet.html
Supposons que vous travaillez dans la feuille de calcul où vous êtes à la copie à partir de.
Vous auriez à obtenir un handle vers la feuille de calcul actuelle et la cible de la feuille de calcul. Vous aurez besoin pour obtenir l'ID de la cible de feuille de calcul. Les détails sont dans le lien là-haut.
Ensuite, nous devons choisir le particulier de feuilles à l'intérieur de ces feuilles de calcul. Disons que votre ligne est sur la feuille intitulée "Nouvelles Choses", et vous avez une feuille dans la cible de feuille de calcul nommée "Archive".
Maintenant, le concept que les google apps utiliser des feuilles de calcul sont des intervalles. Une plage est à seulement un bloc de cellules. Nous avons donc besoin de déterminer la gamme et la gamme. Disons que votre fiche a 7 colonnes et que vous souhaitez le 10e de ligne.
Nous allons donc prendre la ligne et le mettre sur la première ligne de la cible de la feuille. Maintenant, pour la copie réelle:
Et vous avez terminé!
Maintenant, ce sera toujours tabasser la première ligne de la cible de la feuille. Il ya beaucoup que vous pouvez faire pour arrêter ça. Au lieu de toujours à l'aide de la première ligne, vous pouvez utiliser la feuille de l'objet des méthodes pour trouver la dernière ligne, ajouter l'un après l', et ensuite l'utiliser comme votre gamme.
De cette façon, chaque fois que vous copiez une ligne de plus, il devient simplement ajouté au bas de la feuille.
la méthode copyTo est mal documentée, car il ne vous permet pas de copier le contenu d'une feuille à une feuille dans une autre feuille de calcul. Vous souhaitez utiliser les getvalues sna setvalues comme ci-dessous:
Je suis tombé sur cette. J'ai réussi à trouver une belle solution de contournement que des copies de tout, à partir d'une feuille à l'autre (sauf pour les images, les graphiques, scripts et des trucs). Il copie les formules, les valeurs, la mise en forme pour vous.
Fondamentalement, la solution est de
Code:
Basé sur la ci-dessus, j'ai créé une feuille de calcul qui me permet de mettre à jour le nombre de copies à partir d'un master de feuille de calcul. Avec environ 15 exemplaires, il permet d'économiser beaucoup de copier-coller.
Peut-être que ce post vous aide à http://l.rw.rw/gscripts3. Il décrit la fonctionnalité de la fonction de copie avec des conditions différentes (limite données par la plage, des filtres personnalisés, les données de la cible avec insérer ou remplacer les méthodes). Et a de travail, vous pouvez par exemple essayer.
Une autre façon de faire serait d'importer de la ligne (ou de n'importe quelle plage de la source, dans la feuille de calcul.
En supposant que vous souhaitez importer de la ligne 3 à partir de la source de la feuille de calcul feuille "source-feuille de calcul-fiche-nom", mis en la première colonne de l'emplacement cible de la formule suivante:
où
"source-spreadsheet-key"
est le unque ID de la source de la feuille de calcul que vous avez extrait à partir de son URL.Si vous le faites pour la première fois, le message de sécurité s'affiche:
Juste de confirmer et de la ligne entière sera remplie automatiquement.
Rappelez-vous que, parfois, il prend quelques minutes pour mettre à jour les cellules importées après que les modifications aient été effectuées dans la zone source. Cependant, vous pouvez l'accélérer en appuyant sur ctrl-Eou ctrl-maj-Etout en étant dans la cible de feuille de calcul, selon ce qui convient.
Cela ne fonctionne pas - retourne une erreur "fourchette Cible et la source doit être sur la même feuille de calcul." On dirait que nous devons faire quelque chose de similaire à ceci:
(manifestement volé ici)
Utilisation de la gamme.setValues, est le meilleur choix.
Fonctionne pour n'importe quelle gamme dans une des feuilles, autant que l'origine et la destination de plage sont similaires.
Voici un exemple de code: