2017-02-16 4 views
-3

Я ищу простой способ преобразования многих файлов .xls, содержащихся в пути «C: \ Users \ Kevin \ Desktop \ Results» в формат .xlsx У меня есть Excel 2013, но я хотел бы, чтобы там был способ автоматически конвертировать любые файлы, которые помещаются в эту папку.Преобразование нескольких файлов Excel .xls в формат .xlsx

Я не уверен, могу ли я выполнить это, просто поместив некоторый код в командную строку или если мне потребуется загрузить другие ресурсы, чтобы это стало возможным.
Любая помощь приветствуется.

+2

Я боюсь, что это не по теме на переполнение стека, что для очень специфических, технических вопросов программирования. Однако поиск Google для 'Преобразование нескольких файлов Excel .xls в формат .xlsx ', кажется, дает хорошие результаты. –

+0

Если вы знакомы с .NET (C#, VB.NET, Powershell), я бы использовал 'FileSystemWatcher' и Excel Interop. Если вы хотите использовать WSH, вам понадобится какой-то цикл вместе с 'WScript.Sleep'. VBA на самом деле не имеет смысла, потому что документ/рабочая книга/презентация, которая будет содержать VBA, всегда должна быть открыта. –

+0

@Pekka 웃 OP хочет, чтобы какой-то прослушиватель работал в фоновом режиме, а не только для преобразования нескольких файлов. Разве это не по теме? –

ответ

0

Используя C#, что-то вроде этого:

var fsw = new FileSystemWatcher(@"C:\Users\Kevin\Desktop\Results"); 
fsw.Created += (s,e) => { 
    if (!e.FullPath.EndsWith(".xls")) {return;} 
    var newName = e.FullPath.Remove(e.FullPath.Length-3) + "xlsx"; 
    var xlApp = new Excel.Application(); 
    var book = xlApp.Workbooks.Open(e.FullPath); 
    book.SaveAs(newName, XlFileFormat.xlExcel12); 
    xlApp.Quit(); 
};