2014-10-20 1 views
0

Я ищу код, который можно написать, чтобы открыть excel и отсортировать поле в открытой книге.Открыть файл excel и отсортировать содержимое с помощью команд командного файла

мысль будет:

set the workbook to run a vba sorting script on open 
start Excel.exe filename.xls 

Будет ли это быть жизнеспособным вариантом? Если да, то как я могу запустить скрипт vba на открытии?

+0

Ваше требование может быть истолковано несколько способов, так что это сбивает с толку. Является ли строка в имени файла? или содержимое файла? Кроме того, вы не задали вопрос, не говоря уже о программировании. Вы просто указали, каково ваше требование. Измените свой вопрос, чтобы быть более ясным и показать, что вы пробовали. – dbenham

ответ

0

Показать только файлы, которые содержат «PRE100» в имени файла:

@echo off 

For %%f in (SOURCE_PATH\*PRE100*.*) do Echo %%f 

Перемещение только файлы, которые содержат «PRE100» в имени файла, в другой директории:

@echo off 

For %%f in (SOURCE_PATH\*PRE100*.*) do Move %%f DESTINY_PATH 

Измените SOURCE_PATH и DESTINY_PATH, что вам нужно.

0

Когда я правильно прочитал ваш вопрос, «PRE100» находится не в имени файла, а в содержимом файла.

for /f %%i in ('dir /b *.*') do find /i "PRE100" "%%i">nul && move "%%i" newFolder 

для всех файлов: если он содержит «PRE100», то переместите его.

find /i делает поиск без учета регистра (находит PRE100, Pre100, pre100)

&& действует как "если предыдущая команда была успешной, то"

В doublequotes вокруг %%i необходимы для работы с именами файлов, которые содержит пробелы.

0

Я думаю, что у меня это получилось !!!

Позвольте мне знать, если есть какие-либо недостатки делать это таким образом:

@ECHO OFF 

robocopy "PRIMARY_DIR" "DEST_DIR" 

*PRE100*.* /XN 

%SystemRoot%\explorer.exe "DEST_DIR" 

cmd /k Path to the O.bat 

 Смежные вопросы

  • Нет связанных вопросов^_^