#javascript #excel #clipboard.js
#javascript #excel #clipboard.js
Вопрос:
У меня есть проблема, которую я пытаюсь решить, а именно, что я хотел бы иметь возможность вставлять содержимое буфера обмена (заполняется с помощью clipboard.js i) выделиться с некоторыми ячейками, имеющими две строки.
Я не буду утомлять вас подробностями моего проекта, но вот упрощенная версия:
В настоящее время мой clipboard.js реализация повторяется через объект javascript, извлекая материал. Я создаю его так, чтобы его можно было вставить в excel — вкладка, разделенная символом t, и каждая «строка» заканчивается символом n .
Например, строка буфера обмена для строки выглядит следующим образом (пробелы и имена переменных для удобства чтения):
"avatart datet textt timen"
…который при вставке в Excel выдает, как и ожидалось, аватар, дату, время и текст в своих собственных ячейках — отлично.
Однако я хочу иметь несколько строк на ячейку. Например, столбец ‘alpha’ будет содержать две вещи — изображение аватара и имя аватара.
Теперь, очевидно, я не могу использовать (пробелы для удобства чтения):
avatarImagen avatarNamet datet timet text
… потому что это помещает изображение аватара в строку 1, а остальное — в строку 2.
Я довольно новичок в разработке программного обеспечения, поэтому мне пока не хватает мастерства, чтобы найти решение этой проблемы, но я не сомневаюсь, что способ есть.
У кого-нибудь есть какие-либо предложения или идеи? Честно говоря, все, что угодно, было бы очень оценено.
Приветствия, Дэйв
Ответ №1:
Назначение js будет выглядеть следующим образом:
var s = '"avatarImagen avatarName"t datet timet text';
Вот эквивалент VBA (как я тестировал эту строку буфера обмена): запустив это, а затем вставив в A1, вы получите показанный результат.
Sub Tester()
''Add reference to: Microsoft Forms 2.0 Object Library
Dim d As New DataObject
d.SetText """a" amp; vbLf amp; "b""" amp; vbTab amp; "c"
d.PutInClipboard
End Sub
Комментарии:
1. Потрясающий Тим, большое спасибо, что поделился этим. Это в VBA, но должен быть способ репликации в JS.
2. Я рад принять ваш пример в качестве ответа, но я оставлю вопрос открытым еще на несколько часов на случай, если появится ниндзя JS 🙂
3. О, вау, это действительно интересно; Я не подумал о чем-то простом, как заключить их в кавычки. Я протестирую после чая, большое спасибо за обновление.