Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 8

InteropServices.COMException: "Слишком длинный строковый параметр."

24.10.2019, 16:48. Показов 2883. Ответов 2

Студворк — интернет-сервис помощи студентам
Есть один код, в котором я ищу в одной части документа сумму с валютой прописью, а в другой части должен заменить строку "{REF3}" на эту самую сумму. Выглядит это как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Find fnd = wordDocAnnex.ActiveWindow.Selection.Find;
                fnd.ClearFormatting();
                fnd.Replacement.ClearFormatting();
                fnd.Forward = true;
                fnd.Wrap = WdFindWrap.wdFindContinue;
 
switch (iRefIndex)
                {
                    case 1:
                        fnd.Replacement.Text = sPON;
                        fnd.Execute(Replace: WdReplace.wdReplaceAll); //Выполняем замену
                        break;
                    case 2:
                        fnd.Replacement.Text = sDate;
                        fnd.Execute(Replace: WdReplace.wdReplaceAll);
                        break;
                    case 3:
                        //sSumCurrency равна Две тысячи пятьсот шестьдесят белорусских рублей 40 копеек
                        fnd.Replacement.Text = sSumCurrency;
                        //fnd.Replacement.Text = "Две тысячи пятьсот шестьдесят белорусских рублей 40 копеек";
                        fnd.Execute(Replace: WdReplace.wdReplaceAll); 
                        break;
                 }
По какой-то причине строка
C#
1
fnd.Replacement.Text = sSumCurrency;
постоянно выдает ошибку:
Code
1
System.Runtime.InteropServices.COMException: "Слишком длинный строковый параметр."
(скриншот во вложениях)


С другой стороны, если я пишу
C#
1
fnd.Replacement.Text = "Две тысячи пятьсот шестьдесят белорусских рублей 40 копеек";
, то никакой ошибки нет, все работает нормально. Проблема в том, что сумма может меняться и я не могу просто одно и то же постоянно записывать.

Я уже как только не изгалялся: и конкатенацию через
C#
1
String.Concat()
делал, и просто складывал две подстроки. Все равно одна и та же строка в первом случае вызывает ошибку, во втором - нет. Вопрос: что с этим делать?
Миниатюры
InteropServices.COMException: "Слишком длинный строковый параметр."  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.10.2019, 16:48
Ответы с готовыми решениями:

Слишком длинный строковой параметр. Что делать?
здравствуйте. Есть метод который принимает в себя значение из текстбокса. Метод заменяет "{memo}" в документе Word на текст из...

Работа с Excel: выскакивает исключение System.Runtime.InteropServices.COMException (0x800A03EC)
Доброго дня. Суть вопроса такова, выскакивает исключение System.Runtime.InteropServices.COMException (0x800A03EC). подключены...

System.Runtime.InteropServices.COMException: "Нет доступа к 'uchet1.xlsx'."
Нажимаю на кнопку сохранить и по итогу вылазит эта ошибка: System.Runtime.InteropServices.COMException: "Нет доступа к...

2
172 / 118 / 57
Регистрация: 08.01.2013
Сообщений: 664
26.10.2019, 01:13
Посмотри мой проект, в этом проекте идет замена слов в нескольких word документах.
Ссылка на github
Функция "ReplaceWords" в WordFunc.cs
1
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 8
11.02.2020, 00:42  [ТС]
Да я тогда разобрался: сам дурак, не заметил очепятку в регулярке и себе весь мозг сломал, пытаясь понять, что я делаю не так. Так как проект нужно было завершать, а времени уже было мало из-за всего этого, то я просто забыл отписаться на форуме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2020, 00:42
Помогаю со студенческими работами здесь

За что отвечает параметр System.Runtime.InteropServices.Guid
1) каким образом в C# .NET идет привязка к имени пользователя? 2) за что отвечает параметр System.Runtime.InteropServices.Guid? 3)...

Слишком длинный блок инструкций. Попытайтесь разбить его на вспомогательные методы
using System; using System.Drawing; using System.Drawing.Drawing2D; namespace RefactorMe { class Printer { static float...

Export to word Слишком длинный строковый параметр
Делаю экспорт в Word. Вылетает ошибка "Слишком длинный строковый параметр", если в richBox ввести много теста. Как сделать так, чтобы можно...

System.Runtime.InteropServices.COMException (0x800A175D): Не удается открыть банк макросов
Всем привет! Не открывается вордовский документ из программы на C#, выходит ошибка: System.Runtime.InteropServices.COMException...

Ошибка System.Runtime.InteropServices.COMException: "Число должно находиться в диапазоне от 1 до 32767."
Кто знает что за проблем? Раньше всё работало, подробней об исключении под спойлером: System.Runtime.InteropServices.COMException ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru