Я хочу объединить все файлы только в один документ, поэтому я попробовал эту функцию, и у меня возникла ошибка >>> Служба незаметна: Документы (стр. 19, в файле «Код». Как я могу это решить? Спасибо большоемного :)
function mergeGoogleDocs() {
var folder = DriveApp.getFolderById('1Pd-7GIdm9-PdevjSUr4ZCkYEzSPYWT8U'); // set folder ID were we should look for files to merge
var docIDs = [];
var files = folder.getFiles();
while (files.hasNext()){
file = files.next();
docIDs.push(file.getId());
}
Logger.log(docIDs); // check if we have some ids
var baseDoc = DocumentApp.openById('1G0MPkr5AbgkPpUT6uG5WoJ7RKkIkP_tDWzzns31Q6bU'); // set document id of doc which will contain all merged documents
baseDoc.getBody().clear(); // clear the whole document and start with empty page
var body = baseDoc.getActiveSection();
for (var i = 1; i < docIDs.length; ++i ) {
var otherBody = DocumentApp.openById(docIDs[i]).getActiveSection();
var totalElements = otherBody.getNumChildren();
for( var j = 0; j < totalElements; ++j ) {
var element = otherBody.getChild(j).copy();
var type = element.getType();
if( type == DocumentApp.ElementType.PARAGRAPH )
body.appendParagraph(element);
else if( type == DocumentApp.ElementType.TABLE )
body.appendTable(element);
else if( type == DocumentApp.ElementType.LIST_ITEM )
body.appendListItem(element);
else
throw new Error("Unknown element type: "+type);
}
}
}
Редактировать: На самом деле это была моя ошибка, которую я не проверил до этого, в папке, где у меня была электронная таблица, поэтому я должен проверить тип документа MimeType.GOOGLE_DOCS спасибоtehhowch ^^^ и с приведенным ниже кодом у меня больше нет ошибки, но окончательный файл пуст. На самом деле с журналами просмотра у меня есть только идентификатор окончательного объединенного файла (который пуст). Так что, если у вас естьidea:)
var types = [MimeType.GOOGLE_DOCS];
for (var t in types) {
var files = DriveApp.getFolderById('1Pd-7GIdm9-PdevjSUr4ZCkYEzSPYWT8U').getFilesByType(types[t]);
while (files.hasNext()) {
var file = files.next();
docIDs.push(file.getId());
Logger.log('File id ' + file.getId());
}
}
Окончательное редактирование: код работает! Причина, по которой файл был пуст, была в том, что я загрузил текстовые документы со своего компьютера, а не из Google Docs.:)