Мне удалось решить проблему сразу после публикации вопроса. Исправление состояло в том, чтобы создать новый UInt8Array, а затем создать новый BLOB-объект из этого UInt8Array. По сути, это означает, что последний метод становится:
public onGotAllSlices(docdataSlices) {
let docdata = [];
for (let i = 0; i < docdataSlices.length; i++) {
docdata = docdata.concat(docdataSlices[i]);
}
const byteArray = new Uint8Array(docdata);
const blob = new Blob([byteArray]);
const a = document.createElement('a');
url = URL.createObjectURL(blob);
a.href = url;
a.download = 'WordTest.docx';
document.body.appendChild(a);
a.click();
setTimeout(function() {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 0);
}
VARIANT_BOOL сделает Ваш COM-компонент VB6 дружественный. COM никогда действительно, казалось, был сделан для того, чтобы сделать вещи просто в C++, но большем количестве внимания на упрощение использовать от VB. Не уверенный, если это все еще относится к доступу .NET COM-компонента или нет.