Меню

Ошибка загрузки строка 2 столбец 0

Please help.  I have an email sender that was left to me by a previous employee.  Its used on this ridiculously large contact list.  The sender button is gone and the macros won’t get past debugging:

This is the highlight line where the debugging stops:

Set myMessage = myOutlook.CreateItemFromTemplate(«http://orfmoss/Procurement/Procurement Dept/TRUCKING/RFIs/Email Templates» & cell.Offset(0, 7))

This is what populates in the «Repairs» window:  

Repaired Part: /xl/worksheets/sheet1.xml part with XML error.  Load error. Line 2, column 0.

This is what pops up in the repair log:

<?xml version=»1.0″ encoding=»UTF-8″ standalone=»true»?>

-<recoveryLog xmlns=»http://schemas.openxmlformats.org/spreadsheetml/2006/main»>

<logFileName>error025920_02.xml</logFileName>

<summary>Errors were detected in file ‘\orfmossDavWWWRootProcurementProcurement DeptTRUCKINGRFIsRFI_FileSender.xlsm'</summary>

-<repairedParts summary=»Following is a list of repairs:»>

<repairedPart>Repaired Part: /xl/worksheets/sheet1.xml part with XML error. Load error. Line 2, column 0.</repairedPart>

</repairedParts>

</recoveryLog>

Does anyone have any input?  I need to fix this as soon as possible.  Any help would be greatly appreciated.

  • Moved by

    Wednesday, November 28, 2018 1:47 AM
    Move thread

Please help.  I have an email sender that was left to me by a previous employee.  Its used on this ridiculously large contact list.  The sender button is gone and the macros won’t get past debugging:

This is the highlight line where the debugging stops:

Set myMessage = myOutlook.CreateItemFromTemplate(«http://orfmoss/Procurement/Procurement Dept/TRUCKING/RFIs/Email Templates» & cell.Offset(0, 7))

This is what populates in the «Repairs» window:  

Repaired Part: /xl/worksheets/sheet1.xml part with XML error.  Load error. Line 2, column 0.

This is what pops up in the repair log:

<?xml version=»1.0″ encoding=»UTF-8″ standalone=»true»?>

-<recoveryLog xmlns=»http://schemas.openxmlformats.org/spreadsheetml/2006/main»>

<logFileName>error025920_02.xml</logFileName>

<summary>Errors were detected in file ‘\orfmossDavWWWRootProcurementProcurement DeptTRUCKINGRFIsRFI_FileSender.xlsm'</summary>

-<repairedParts summary=»Following is a list of repairs:»>

<repairedPart>Repaired Part: /xl/worksheets/sheet1.xml part with XML error. Load error. Line 2, column 0.</repairedPart>

</repairedParts>

</recoveryLog>

Does anyone have any input?  I need to fix this as soon as possible.  Any help would be greatly appreciated.

  • Moved by

    Wednesday, November 28, 2018 1:47 AM
    Move thread

Я написал код для создания jTable и экспорта в Excel. Я работаю, но когда я открываю файл Excel, он не восстанавливается полностью. Это показывает следующую проблему:

Отремонтированная часть: /xl/worksheets/sheet2.xml часть с ошибкой XML. Ошибка загрузки. Строка 2, столбец 0. Восстановленная деталь: /xl/worksheets/sheet7.xml часть с ошибкой XML. Ошибка загрузки. Строка 2, столбец 0. Удаленные записи: именованный диапазон из части /xl/workbook.xml (рабочая книга) Удаленные записи: таблица из части /xl/tables/table1.xml (таблица)

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.event.ActionEvent;

public class GUI {
    private static JTextField textField;
    private static JTextField textField_1;

public static void main(String args[]) throws IOException {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Object rowData[][] = null ;
    Object columnNames[] = { "Column One", "Column Two"};
    DefaultTableModel model = new    DefaultTableModel(rowData,columnNames);
    frame.getContentPane().setLayout(null);
    JTable table = new JTable(model);
    table.setModel(model);
    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setBounds(76, 106, 300, 200);
    scrollPane.setVisible(true);
    frame.getContentPane().add(scrollPane);

    textField = new JTextField();
    textField.setBounds(76, 21, 86, 20);
    frame.getContentPane().add(textField);
    textField.setColumns(10);

    textField_1 = new JTextField();
    textField_1.setBounds(76, 61, 86, 20);
    frame.getContentPane().add(textField_1);
    textField_1.setColumns(10);

    JLabel lblNewLabel = new JLabel("Name");
    lblNewLabel.setBounds(20, 24, 46, 14);
    frame.getContentPane().add(lblNewLabel);

    JLabel lblAge = new JLabel("Age");
    lblAge.setBounds(20, 64, 46, 14);
    frame.getContentPane().add(lblAge);



    JButton btnNewButton = new JButton("Get Data");
    btnNewButton.setBounds(235, 40, 89, 23);
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            String name = textField.getText().toString();
            int age = Integer.parseInt(textField_1.getText());
            model.addRow(new Object[] {name,age});
            Object obj1 = GetData(table, 0,0 );
            System.out.println("Cell value of 1 column and 1 row :" + obj1);
            Object obj2 = GetData(table, 0,1 );
            System.out.println("Cell value of 2 column and 1 row :" + obj2);

        }
    });



    frame.getContentPane().add(btnNewButton);

    JButton btnNewButton_1 = new JButton("Excel");
    btnNewButton_1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent evt) {
            try {
                writeToExcel(table);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    btnNewButton_1.setBounds(340, 40, 89, 23);
    frame.getContentPane().add(btnNewButton_1);
    frame.setSize(455, 356);
    frame.setVisible(true);
  }



protected static void writeToExcel(JTable table) throws Exception {

    try {
        File file = new File("IET.xlsx");
        FileInputStream inputStream = new FileInputStream(file);
        XSSFWorkbook workbook = (XSSFWorkbook) WorkbookFactory.create(inputStream);
        XSSFSheet sh = workbook.getSheet("UserInputs");
        TableModel model = table.getModel();
        String value1 = model.getValueAt(0, 0).toString();
        String value2 = model.getValueAt(0, 1).toString();

        workbook.getSheet("UserInputs").getRow(8).getCell(1).setCellValue(value2);


    FileOutputStream fileOut = new FileOutputStream(file);
    workbook.write(fileOut);
    fileOut.close();
    workbook.close();
    System.out.println("File written successfully");
    }
    catch(Exception e){
    System.out.print(e);}
    }



private static Object GetData(JTable table, int x, int y) {

    return table.getValueAt(x, y).toString();
}
  }

Что-то не так с кодом?

1 ответ

Лучший ответ

Ваш код перезаписывает только одну ячейку B9 на листе UserInputs. Если это приводит к проблеме:

«Отремонтированная часть: /xl/worksheets/sheet2.xml часть с ошибкой XML. Ошибка загрузки. Строка 2, столбец 0. Отремонтированная часть: /xl/worksheets/sheet7.xml часть с ошибкой XML. Ошибка загрузки. Строка 2, столбец 0 . Удаленные записи: именованный диапазон из части /xl/workbook.xml (рабочая книга). Удаленные записи: таблица из части /xl/tables/table1.xml (таблица) »

При открытии книги в Excel ячейка B9 на листе UserInputs является одной из ячеек заголовка объекта таблицы Excel. Кроме того, по крайней мере, на листе Sheet2 и Sheet7 есть ссылки на структурированные таблицы, такие как =Tablename[Columnname], используемые в формулах, и такие ссылки на структурированные таблицы также используются в именованных диапазонах.

Таким образом, если B9 в листе листа UserInputs является одной из ячеек заголовка объекта таблицы Excel и теперь изменяется, то сначала сама таблица повреждена, так как одно из имен столбцов изменилось без обновления Таблица. Но также все ссылки на структурированные таблицы, такие как =Tablename[Columnname], повреждены, поскольку Columnname был изменен без обновления всех этих формул.

Обновить заголовки таблицы можно с помощью XSSFTable.updateHeaders. Но обновление всех ссылок на структурированные таблицы во всех формулах на всех листах и ​​даже во всех именованных диапазонах было бы очень дорогостоящим или почти невозможным. Поэтому я бы рекомендовал не изменять ячейки заголовка объекта таблицы Excel. Оставьте ячейки заголовка такими, какие они есть, и измените только диапазон содержимого таблицы.

Примере:

У нас будет следующий файл IET.xlsx:

enter image description here

Как видите, на листе UserInput есть таблица с именем Table1, а заголовки находятся в строке 9.

Теперь мы можем перезаписать диапазон содержимого B10:F[10+n] содержимым из JTable следующим образом:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.ss.*;
import org.apache.poi.ss.util.*;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;

import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

class ReadAndWriteExcelHavingTableObject {

 static void writeToExcel(XSSFTable exceltable, JTable table) throws Exception {

  int exceltableStartRow = exceltable.getStartRowIndex();
  int exceltableStartCol = exceltable.getStartColIndex();

  XSSFSheet sheet = (XSSFSheet)exceltable.getParent();

  TableModel model = table.getModel();

  int exceltableEndRow = exceltableStartRow + model.getRowCount(); //as much rows as are in the model
  int exceltableEndCol = exceltable.getEndColIndex();

  //write the content
  for (int r = 0; r < model.getRowCount(); r++) {
   for (int c = 0; c < exceltableEndCol - exceltableStartCol + 1; c++) {
    XSSFRow row = sheet.getRow(exceltableStartRow + 1 + r);
    if (row == null) row = sheet.createRow(exceltableStartRow + 1 + r);
    XSSFCell cell = row.getCell(exceltableStartCol + c);
    if (cell == null) cell = row.createCell(exceltableStartCol + c);

    if (c < model.getColumnCount() && model.getValueAt(r, c) instanceof String) {
     String str = (String)model.getValueAt(r, c);
     cell.setCellValue(str);
    } else if (c < model.getColumnCount() && model.getValueAt(r, c) instanceof Double) {
     Double value = (Double)model.getValueAt(r, c);
     cell.setCellValue(value);
    } else if (c >= model.getColumnCount()) { //formula cells
     XSSFCell firstCell = sheet.getRow(exceltableStartRow + 1).getCell(exceltableStartCol + c);
     if (firstCell.getCellTypeEnum() == CellType.FORMULA) { 
      cell.setCellFormula(firstCell.getCellFormula());
     }
    }
   }
  }

  //update the size of exceltable
  exceltable.setCellReferences(new AreaReference(
    new CellReference(exceltableStartRow, exceltableStartCol),
    new CellReference(exceltableEndRow, exceltableEndCol),
    SpreadsheetVersion.EXCEL2007));

 }


 public static void main(String[] args) throws Exception {

  Object rowData[][] = {
          {"Bob", 12.0, 3.0},
          {"Alice", 34.0, 2.5},
          {"Jack", 56.0, 2.0},
          {"John", 78.0, 1.5}
          };
  Object columnNames[] = {"Name", "Amount", "Factor"};
  DefaultTableModel model = new DefaultTableModel(rowData, columnNames);
  JTable table = new JTable(model);
  table.setModel(model);

  File file = new File("IET.xlsx");
  FileInputStream inputStream = new FileInputStream(file);
  XSSFWorkbook workbook = (XSSFWorkbook)WorkbookFactory.create(inputStream);

  XSSFTable exceltable = workbook.getTable("Table1");

  writeToExcel(exceltable, table);

  workbook.setForceFormulaRecalculation(true);

  FileOutputStream fileOut = new FileOutputStream(file);
  workbook.write(fileOut);
  fileOut.close();
  workbook.close();

 }
}

Результат будет:

enter image description here

А поскольку заголовки не меняются, сама таблица и все структурированные ссылки после этого не будут повреждены.


0

Axel Richter
7 Мар 2019 в 07:42


Автор
Тема: Ошибка в эксель  (Прочитано 19402 раз)


Добрый вечер. Уважаемый знатоки.
Такая проблема возникает:
Сохраняю документ, открываю его вновь, программа предлагает восстановить данные.
Возникает ошибка такого содержания:
Иногда возникает такая ошибка:
Удаленный компонент: часть /xl/styles.xml с ошибкой XML.  (Стили) Ошибка загрузки. Строка 2, столбец 3335.
Восстановленные записи: Сведения о ячейках из части /xl/worksheets/sheet1.xml
После этого из файла пропадает часть дробных частей чисел.
В чем может быть причина?
Эксель 2007

« Последнее редактирование: 11.06.2013, 19:53:03 от sergo44441 »


Записан

Не торопись, и все успеешь намного быстрее


В такой ситуации надо смотреть что там с этим /xl/styles.xml, открыв файл .xlsx как архив. Например 7Zip’ом.
А далее провести эксперименты на копии файла:

  • Вариант1: Тупо удалить styles.xml.
  • Вариант2: Открыть его (например XML Notepad’ом), поискать что там не так, исправить.
  • Вариант3: Сделать пересадку из другого файла, с той же «группой крови». :)

При неудаче, попеременно (значения, формулы, форматы, а не листы целиком) перетащить всё в новый файл, а этот, косячный, утилизировать.


Записан

Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

ниже приведен пример файла yaml, который я уже проверил через YAMLint
URL, но при загрузке этого файла библиотечной функцией yaml-cpp LoadFile я получаю сообщение об ошибке: «Ошибка в строке 0, столбце 0: неправильное преобразование при загрузке файла YAML»

Пример файла yaml:

%YAML 1.1
---
name: abcd_server_interface
spec_type: interface
spec_version: 1
description: 'Interface for capability ABCD Slam'
default_provider: abcd_server/abcd_server_provider
interface: {}
topics: {
provides: {

provide: {
name: '/3d_pose_graph',
type: '-',
description: '-',
},

provide: {
name: '/key_frame_msgs',
type: '-',
description: '-'
},

provide: {
name: '/pc_map',
type: 'sensor_msgs/PointCloud2',
description: 'Point cloud'
},

provide: {
name: '/3dOctomap',
type: '-',
description: '-'
},

provide: {
name: '/poseOfRobots',
type: '-',
description: '-'
},

provide: {
name: '/occupied_calls_vis_array',
type: '-',
description: '-'
},
},
requires: {

require: {
name: '/image_depth_throttled',
type: 'sensor_msgs/Image',
description: 'Sensor Image',
},

require: {
name: '/image_color_throttled/compressed',
type: 'sensor_msgs/CompressedImage',
description: 'Sensor compressed image',
},

require: {
name: '/statistics',
type: '-',
description: '-',
},

require: {
name: '/initialpose',
type: '-',
description: '-',
},

require: {
name: '/reset_rgbdserver',
type: 'std_msgs/Bool',
description: 'To reset server',
},

require: {
name: '/scan',
type: 'sensor_msgs/LaserScan',
description: 'laser scan data',
},

require: {
name: '/tf',
type: 'tf2_msgs/TFMessage',
description: 'tf',
},

require: {
name: '/tf_static',
type: 'tf2_msgs/TFMessage',
description: 'tf static',
},

}
}

Parameter: {
parameter: {
name: 'max_delay',
value: '100'
},

parameter: {
name: 'rgb_hints',
value: 'compressed'
},

parameter: {
name: 'depth_hints',
value: 'raw'
},

parameter: {
name: 'bot_frame',
value: '/base_link'
},

parameter: {
name: 'kinect_frame',
value: '/camera_depth_optical_frame'
},

parameter: {
name: 'minZ',
value: '-1.0'
},

parameter: {
name: 'maxZ',
value: '4.0'
},
}

Вот код, который я написал, чтобы заменить значение имени параметра («max_delay») в файле yaml в разделе параметров.

#include <fstream>
#include <iostream>
#include "yaml-cpp/yaml.h"
using namespace std;

bool UpdateYAMLFile(const string& sYamlFile, const string& sParamName2Update, const string sValue)
{
bool bRet = false;
try
{
//YAML::Node head_ = YAML::LoadFile(sYamlFile);
YAML::Node head_ = YAML::LoadFile(sYamlFile);

//YAML::Node head_ = YAML::Load(sYamlFile);
std::cout << head_.size();

cout<<"ramesh"<<endl;
for (YAML::iterator ith = head_.begin();ith != head_.end(); ++ith)
{
YAML::Node sub1_ = ith->second;
for (YAML::iterator itc = sub1_.begin();itc != sub1_.end(); ++itc)
{
string sParam = itc->second["name"].as<std::string>(); //cout << sParam  << endl;
if(sParam == sParamName2Update)
{
itc->second["value"] = sValue;
bRet = true;
}
}
}
ofstream fout(sYamlFile);
fout << head_;          //cout << head_ << "n";
}
catch (const YAML::Exception& e)
{
cout << "ERROR: Updation of yaml file " << sYamlFile << "Failed: Exception: " << e.what() << "n";
}
return bRet;
}
//driver
int main(int argc, char** argv)
{

int bRet = UpdateYAMLFile("sample.yaml", "max_delay","1150");

if(bRet == true)
cout << "SUCCESS: YAML file updated..n";
else
cout << "ERROR: YAML file update FAILED...n";

return 0;
}

В основном API UpdateYAMLFile обновит значение параметра max_dealy в файле примера yaml. используя этот API, я должен иметь возможность обновить все параметры (max_delay, rgb_hints, deep_hints, minZ, maxZ) в разделе параметров образца
файл yaml.

команда:
g ++ -std = c ++ 0x yaml.cpp -o res /usr/lib/x86_64-linux-gnu/libyaml-cpp.a

1

Решение

Похоже, вы один на вашем доступе к карте. Ваши карты вложены в три глубины:

topics: {                      // first key/value pair
provides: {               // second key/value pair
provide: {              // third key/value pair
name: '/3d_pose_graph', // now lookup the name attribute
type: '-',
description: '-',
}
}
}

У вас также есть проблема с вашей третьей картой: все ключи "provide", Это на самом деле не карта, и она будет проанализирована как одна пара ключ / значение (каждая перезаписывает предыдущую). Вы можете составить список следующим образом:

topics: {
provides: [               // this is now a list
{
name: '/3d_pose_graph',
type: '-',
description: '-',
}, {
name: '/key_frame_msgs',
type: '-',
description: '-'
}, ...
]
}

Более того, вам не нужно слепо перебирать значения карт, не зная, что в них. Почему бы просто не получить доступ к ключам напрямую:

for (YAML::Node provides : head_["topics"]["provides"]) {
if (provides["name"].as<std::string>() == sParamName2Update) {
provides["name"] = sValue;
}
}

1

Другие решения

Других решений пока нет …

Ошибка файла после запуска макроса (ов)

yuka

Дата: Среда, 26.12.2012, 15:54 |
Сообщение № 1

Группа: Пользователи

Ранг: Участник

Сообщений: 94


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Друзья! В каких случаях (может они существуют) может возникнуть такая ошибка при открытии файла?
Удаленное свойство: Проверка данных из части /xl/worksheets/sheet1.xml

При открытии файла макросом формируется столбец с ниспадающими списками. Далее в следующих справа столбцах выбираются связанные ниспадающие списки. Формирование списка во втором столбце идет только в том случае, если в первом столбце что-то выбрано. Формирование третьего — от второго и т.д.
Все работает без ошибок и проблем. После сохранения, закрытия и повторного открытия файла возникает эта ошибка. Данные (текст) из ячеек не пропадает, но «присвоение» ячейке ниспадающего списка пропадает. Т.е. пользователь не может повторно его редактировать. Версия Excel 2007.

1. если я сохраняю файл в версии 2003, то списки не пропадают.
2. ячейкам со списками присваивается не именованный диапазон, (Formula1) а строка, в которой больше 255 символов (Formula1 вбирает в себя до 8000 символов)

Сначала была причина в том, что я использовала Select. Исправила — ликвидировала Select вообще из макросов. Но после этого еще где-то что-то лагает и портится.
Есть у кого-нибудь еще какие-нибудь варианты?
Еще по моим наблюдениям… если в списках маленькое количество информации (больше 255 символов, например 800), то глюков с открытием файла не возникает. А если большое количество — 3000, 5000 — возникает ошибка.

 

Ответить

KuklP

Дата: Среда, 26.12.2012, 16:42 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

[offtop]

Цитата (yuka)

столбец с ниспадающими списками

Смеркалось…[/offtop]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

yuka

Дата: Пятница, 08.02.2013, 10:35 |
Сообщение № 3

Группа: Пользователи

Ранг: Участник

Сообщений: 94


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Я подниму эту тему, вдруг кому-что понадобится!
Вобщем намаялась я с этими списками. Вроде пока избавилась от этой ошибки. Суть в том, что у меня
[vba]

Код

‘ниспадающий список  
Formula1=»Текст1;Текст2;Текст3″

[/vba]
Причина 1:
При переброске из строковой переменной в Formula1, почему-то, все «,» превращаются в «;». Т.е. если у меня строковая переменная равна:
[vba]

Код

s=»Текст1,Текст2,Текст3″

[/vba]
то при создании ниспадающего списка получается:
[vba]

Код

Formula1=»Текст1;Текст2;Текст3″

[/vba]
[Кстати, если вручную прописывать: Проверка данных->Список->Источник->»Текст1;Текст2;Текст3,Текст4″. Все отображается хорошо, а через макрос…беда…))]
Причина 2
Весьма странная реакция у Excel на ковычки («»). Т.е. если у Вас в строке присутствует значение:
[vba]

Код

s=»Текст»1″;Текст»2″;Текст»3″

[/vba]
То при создании ниспадающего списка все складывается хорошо, а после сохранения и перезагрузке файла возникает та ошибка, по которой я подняла вопрос.
Была бы возможность я бы описание ошибки отредактировала, но пропишу тут. Ошибка:

Цитата (yuka)

Удаленное свойство: Проверка данных из части /xl/worksheets/sheet1.xml

после нее все ниспадающие списки в файле, уже не отображаются в виде ComboBox, а просто в этих ячейках отсутствуют. Текст, выбранный доселе остается (сохраняется), сам список пропадает.

 

Ответить

RAN

Дата: Пятница, 08.02.2013, 12:31 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 5638

Цитата (yuka)

почему-то, все «,» превращаются в «;»

«,» — разделитель в аглицком Excel, «;» — в русском.
VBA любит аглицкий.
На ранней стадии изучения VBA я писал макрос, проверяющий, не изменил ли кто формулу на листе.
Вытаскивал в VBA русскую, смотрел, нет ли изменений, если есть — в ячейку писал правильную аглицкую (в русскую она сама превращалась).
Русская, даже FormulaLocal, глючила.
Вероятно, надо было работать с FormulaR1C1, но это сейчас понятно.


Быть или не быть, вот в чем загвоздка!

 

Ответить

yuka

Дата: Пятница, 08.02.2013, 16:15 |
Сообщение № 5

Группа: Пользователи

Ранг: Участник

Сообщений: 94


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Тяжко… Уже несколько раз сталкивалась с проблемой написания, например артикула ОАС — на русском, и OAC на английском… Видите ли нашим пользователям лень переключиться на английский и написать по-человечески. А вот то, что есть различия в знаках препинания, сталкиваюсь впервые!
Ну… век живи, век учись!

 

Ответить

yuka

Дата: Пятница, 29.03.2013, 16:07 |
Сообщение № 6

Группа: Пользователи

Ранг: Участник

Сообщений: 94


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

В продолжении темы, что неправильно в этом коде? Если менять на FormulaR1C1
[vba]

Код

.Add Type:=xlValidateList, FormulaR1C1:=s

[/vba]
Макрос выдает, что сделана синтаксическая ошибка применение
[vba][/vba]
нельзя, только
[vba][/vba]

 

Ответить

KuklP

Дата: Пятница, 29.03.2013, 18:22 |
Сообщение № 7

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Мне кажется, Вы вводите нас в заблуждение. Уже при 256 символах выйдет ошибка при открытии. Максимальное к-во символов в строке — 255. Хоть в 2003, хоть в 2010. Вот файл со строкой проверки длиной 256 символов(кстати это Вы должны были выложить пример). В 2003 при открытии ошибки нет, но строка аккуратно обрезана до 255 символов cool


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Сообщение отредактировал KuklPПятница, 29.03.2013, 18:31

 

Ответить

andrey-ekt

Дата: Суббота, 22.06.2013, 13:01 |
Сообщение № 8

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Добрый день! У меня точно такая же ошибка вылазит. Причем, если значение в ячейке A44 заменить на значение ячейки A43, то после сохранения ошибки не возникает. С длинной строк вроде бы все в порядке.

 

Ответить

Hugo

Дата: Суббота, 22.06.2013, 16:13 |
Сообщение № 9

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

Замечаний:
0% ±


2010, теперь уже с PQ

Понял — упёрлись в длину строки в проверке ввода.
Как обойти — не знаю.
Я бы вероятно делал аналогично, но на форме с комбобоксами.
Хотя может будут другие варианты решения.

Хотя в xlsb сохраняется/открывается и работает и с длиной в 347 символов. Интересно, что про это думает Microsoft…


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

KuklP

Дата: Суббота, 22.06.2013, 16:14 |
Сообщение № 10

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Цитата (andrey-ekt)

С длинной строк вроде бы все в порядке.

???


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

Константин

Дата: Четверг, 11.07.2013, 11:35 |
Сообщение № 11

сВсем привет! Та же беда! На листе одна процедура добавляет Проверку Данных / выпадающие списки. Раньше все работало. Списки длиной менее 28 и 49 символов. Когда я добавил новый список — все выпадающие списки слетели. Длина строки нового списка составила 340 символов. Без этого длинного, этой ошибки не возникает…
Как все же вставить проверку данных именно такого размера…

 

Ответить

Константин

Дата: Четверг, 11.07.2013, 11:39 |
Сообщение № 12

Предлагаемое решение:
Списки с длиной строки больше 255 до сохранения работают нормально, их добавлять при открытии книги, и удалять при закрытии. Тода хотя бы остальные списки будут жить, и в тоже время — эти длинные будут в работе.

 

Ответить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка заз шанс р0105
  • Ошибка загрузки страницы фридом