Supprimer la double citation lors de la copie d'une cellule

0

Problème : lors de la
copie d'une cellule contenant un script à partir d'Excel dans un autre programme, les guillemets doubles ( "") sont ajoutés automatiquement au lieu de guillemets simples ( ").

De plus, au début et à la fin des scripts, un "est automatiquement ajouté.

Voici mon script, et les citations soulignées sont les plus superficielles:

" // script pour changer le budget par jour de la semaine // Jon Gritton 2016

// user vars var BUDG_NAME = " " Budget partagé S104 (CX - Elevé) " " ; var B_MON = 500000; var B_TUE = 500000; var B_WED = 500000; var B_THU = 500000; var B_FRI = 500000; var B_SAT = 500000; var B_SUN = 500000;

function main () {setBudget (getBudgetToday ()); }

fonction getBudgetToday () {var budgArray = [B_SUN, B_MON, B_TUE, B_WED, B_THU, B_FRI, B_SAT]; var d = new Date (Utilities.formatDate (new Date (),> AdWordsApp.currentAccount (). getTimeZone (), " " MMM jj, aaaa HH: mm: ss " " )); var aujourd'hui = d.getDay (); renvoyer budgArray [aujourd'hui]; }

function setBudget (budgetToday) {Logger.log ( " " Le budget d'aujourd'hui est: " " + budgetToday); var budgetIter = AdWordsApp.budgets () .withCondition ( " " BudgetName = '" " + BUDG_NAME + " " "" " ) .get () while (budgetIter.hasNext ()) {var thisBudget = budgetIter.next (); thisBudget.setAmount (budgetAujourd'hui); }} "

Détails :
J'utilise Excel 2013 sur Windows 10.

J'ai lu sur un autre fil que nous pouvons résoudre ceci en utilisant cette macro

Sub CopyCellContents()
  'create a reference in the VBE to Microsft Forms 2.0 Lib
  Dim objData As New DataObject
  Dim strTemp As String
  strTemp = ActiveCell.Value
  objData.SetText (strTemp)
  objData.PutInClipboard
End Sub

mais apparemment, cette macro est uniquement compatible avec Excel 2007 et non Excel 2013:

"Erreur de compilation: type défini par l'utilisateur non défini"

La seule solution consiste à copier la cellule (qui contient le script) dans Word 2013 et à copier le texte en bloquant la barre de formule. Mais je dois simplement copier la cellule dans le nouveau programme.

Comment puis-je empêcher ces guillemets de s'afficher lors de la copie dans un autre programme? En d'autres termes, puis-je supprimer de ces guillemets doubles d'être automatiquement ajoutés lorsque la cellule est copiée dans le Presse-papiers?

freakyholic
la source
Le texte multiligne copié à partir d'Excel inclut automatiquement des guillemets. Consultez cette question similaire: superuser.com/questions/324271/…
davidmneedham
@ davidmneedham C'est probablement de là que vient la macro de freakyholic. Ce commentaire sur la question conduit à cette réponse à une autre question où réside la même macro.
robinCTS
@robinCTS, vous avez probablement raison. Est-ce une question en double?
davidmneedham
@davidmneedham Etant donné que le problème n'est pas tant que les citations doivent être effacées, mais que les solutions trouvées dans cette autre question ne fonctionnent pas (ce que ma réponse résout), je dirais non.
robinCTS

Réponses:

1

En fait, cette macro est compatible avec Excel 2013. Vous devez ajouter une référence à la Microsoft Forms 2.0 Object Library, comme expliqué dans le commentaire de la deuxième ligne du code.

Dans le VBE, allez à ToolsReferences…, faites défiler jusqu'à la référence de formulaire (ce sera sous "M") et cochez la case:

Ajouter une référence Capture d'écran

La macro devrait fonctionner maintenant.

robinCTS
la source