CONTEXT
I am trying to search in a specific column for all instances of «January» and then reference the row so I can copy the cell directly to the left of it. The cells contain formulas so I am actually searching for the Value of the cell not the formula.
PROBLEM
I have been trying to test out and make sure it is referencing the right cell address (specifically, the row). For each instance of January, it pastes «Testing» at the end of all values in the column instead of in FoundCell itself. (ex. if January appeared 2 times, it would continuously loop «Testing» at the end of the column)
Excel Sample
Month Month
January =A2
February =A3
April =A4
April =A5
January =A6
December =A7
CURRENT CODE
Dim fnd As String, FirstFound As String
Dim FoundCell As Range, rng As Range
Dim myRange As Range, LastCell As Range
Set myRange = Range("B:B")
Set LastCell = myRange.Cells(myRange.Cells.Count)
Set FoundCell = myRange.Find(what:=January, after:=LastCell, LookIn:=xlValues)
'Test to see if anything was found
If Not FoundCell Is Nothing Then
FirstFound = FoundCell.Address
Do
MsgBox "Found it!"
FoundCell.Value = "Testing"
Set FoundCell = myRange.FindNext(FoundCell)
Loop While Not FoundCell Is Nothing And FoundCell.Address <> FirstFound
Else
MsgBox "Not Found!"
End If
Set rng = FoundCell
Exit Sub
Please let me know if there is anything you see that could help!
asked May 22, 2018 at 14:41
KL_KL_
2736 silver badges22 bronze badges
11
With some modification, I am able to get your code to run. Not sure exactly what you’re trying to do, but based on the test data this code no longer hits the Runtime 91 error that your code encountered at the Loop While
:
Sub foo()
Dim fnd As String, FirstFound As String
Dim FoundCell As Range, rng As Range
Dim myRange As Range, LastCell As Range
Set myRange = Range("B:B")
Set LastCell = myRange.Cells(myRange.Cells.Count)
Set FoundCell = myRange.Find(what:="January", after:=LastCell, LookIn:=xlValues)
If Not FoundCell Is Nothing Then
FirstFound = FoundCell.Address
Do
' FoundCell.Interior.ColorIndex = 39
FoundCell.Offset(,1).Value = "Testing!" '<~~ I'm writing out to the adjacent cell, just to be safe. Modify as needed.
Set FoundCell = myRange.FindNext(FoundCell)
Loop While (FoundCell.Address <> FirstFound)
End If
Set rng = FoundCell '<~~ Careful, as this is only the LAST instance of FoundCell.
End Sub
answered May 22, 2018 at 15:32
David ZemensDavid Zemens
52.8k11 gold badges79 silver badges129 bronze badges
2
You’re getting the word «Testing» printing over and over because your loop is searching for the word «Testing», not «January».
If Not FoundCell Is Nothing Then
FirstFound = FoundCell.Address
Do
MsgBox "Found it!"
FoundCell.Value = "Testing"
Set FoundCell = myRange.FindNext(FoundCell)
Loop While Not FoundCell Is Nothing And FoundCell.Address <> FirstFound
Else
FoundCell.Value = "Testing"
you’re setting a cell value to Testing with this line
Set FoundCell = myRange.FindNext(FoundCell)
now you’re searching for the string «Testing». FoundCell is a range. I believe the default property for a cell range is the value of the cell (i.e. — «Testing»)
So you’re initially finding the string «January», changing it to «Testing» and then searching for the string «Testing» over and over, which you keep finding because you keeping writing it to a new cell with every loop iteration.
At least it seems like that’s what’s going on to me, I didn’t actually try to run the code. You could probably fix it by changing Set FoundCell = myRange.FindNext(FoundCell)
to Set FoundCell = myRange.FindNext(FoundCell.Value)
answered May 22, 2018 at 15:36
J. GarthJ. Garth
7836 silver badges10 bronze badges
4
Update
I’ve created a new article that describes how to do the same things as this article, but with a reusable assembly instead of everything in one class, and there is a demo proejct and walkthrough as well. Check it out here.
Introduction
If you write a lot of .NET Excel automation, particularly for use on servers where there may be multiple instances of Excel running at a time, you may find yourself needing to access a specific instance of Excel, not just the «active» one.
I have spent a lot of time on forums and Q&A sites trying to find a way to iterate over all running instances, and select specific instances by Hwnd
or ProcessID
, but have not yet found a satisfactory article. After a while of piecing different answers together, I believe I have a class that can provide this functionality for anyone in a similar situation.
A lot of credit goes to the anonymous article at the link below, as well as some hints from various users of StackOverflow.
http://pastebin.com/F7gkrASTBackground
You will need an intermediate grasp of C# for this project, and some familiarity with Windows processes and window handles. There is also some usage of LINQ and lambda expressions, but only in a few places. You actually don’t need to know much about Excel automation, other than knowing what the Microsoft.Office.Interop.Excel.Application
class is.
Several parts of the private implementation of the class involve extern
calls to the Win32 API, which you don’t necessarily need to understand to use this class. I am not very familiar with the Win32 API myself, but learned a good bit about it in putting this class together.
Please let me know if the code violates any best practices for dealing with Win32.
IMPORTANT: This code has not been tested on all versions of Excel or Windows. (Please help me test them all out.) I believe this code may be particularly prone to issues based on different Excel and Windows versions.
Tested environments:
- Windows 7 64-bit with Excel 2016 32-bit
- Windows 7 64-bit with parallel instances of Excel 2010 32-bit and Excel 2013 32-bit.
Using the Code
The class below can be used alongside the Microsoft primary interop assembly for Excel, to get a Microsoft.Office.Interop.Excel.Application
object for any running instance of Excel.
I’ve split the class into two partial class files, to breakup what would otherwise be a 200-line file. The first part is the public
interface, and the second is the private
implementation.
Public Interface
The publicly visible interface is pretty simple, and has the following members:
- Constructor — This takes a nullable
Int32
as a parameter, which defaults tonull
. The value is used to filter Excel instances by WindowssessionID
. Ifnull
, the class’sSessionID
property will be set to the currentsessionID
. SessionID
— This property is used to filter Excel instances by WindowssessionID
. This is very important when working with servers where multiple users may be using Excel at once.- If
-1
, the collection will give access to instances from all sessions. - If a valid
sessionID
, the collection will give access to all Excel instances running in that session. - If not a valid
sessionID
, the collection will always be empty. No exception is thrown.
- If
- Accessors
FromProcess
— This method takes a reference to aProcess
and returns the Excel instance of thatProcess
, ornull
if theProcess
is not an Excel instance.FromProcessID
— This method takes aprocessID
and returns the Excel instance of the correspondingProcess
, ornull
if the ID is invalid or does not correspond to an Excel instance.FromMainWindowHandle
— This method takes theHwnd
value of the main window of an Excel instance, and returns the corresponding Excel instance, ornull
if theHwnd
is invalid or does not correspond to an Excel instance.PrimaryInstance
— This property returns the first-created Excel instance, ornull
if there are none. If a user double-clicks an Excel file icon, this will be the instance the file opens in.TopMostInstance
— This property returns the Excel instance with the top-most visible window, ornull
if there are none. This will normally be the last instance selected by a user.
- Methods
GetEnumerator
— This method returns a collection of all Excel instances, filtering bySessionID
(ifSessionID
is not-1
).GetProcesses
— This method returns a collection of allProcess
objects of Excel instances, filtering bySessionID
(ifSessionID
is not-1
).
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.InteropServices; using xlApp = Microsoft.Office.Interop.Excel.Application; namespace ExcelExtensions { public partial class ExcelAppCollection : IEnumerable<xlApp> { #region Constructors public ExcelAppCollection (Int32? sessionID = null) { if (sessionID.HasValue && sessionID.Value < -1) throw new ArgumentOutOfRangeException("sessionID"); this.SessionID = sessionID ?? Process.GetCurrentProcess().SessionId; } #endregion #region Properties public Int32 SessionID { get; private set; } #endregion #region Accessors public xlApp FromProcess(Process process) { if (process == null) throw new ArgumentNullException("process"); return InnerFromProcess(process); } public xlApp FromProcessID(Int32 processID) { try { return FromProcess(Process.GetProcessById(processID)); } catch (ArgumentException) { return null; } } public xlApp FromMainWindowHandle(Int32 mainHandle) { return InnerFromHandle(ChildHandleFromMainHandle(mainHandle)); } public xlApp PrimaryInstance { get { try { return Marshal.GetActiveObject(MarshalName) as xlApp; } catch (COMException) { return null; } } } public xlApp TopMostInstance { get { var topMost = GetProcesses() .Select(p => p.MainWindowHandle) .Select(h => new { h = h, z = GetWindowZ(h) }) .Where(x => x.z > 0) .OrderBy(x => x.z) .First(); return FromMainWindowHandle(topMost.h.ToInt32()); } } #endregion #region Methods public IEnumerator<xlApp> GetEnumerator() { foreach (var p in GetProcesses()) yield return FromProcess(p); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } public IEnumerable<Process> GetProcesses() { IEnumerable<Process> result = Process.GetProcessesByName(ProcessName); if (this.SessionID >= 0) result = result.Where(p => p.SessionId == SessionID); return result; } #endregion } }
Private Implementation
As mentioned in the introduction, I am not an expert on the Win32 API. Parts of the private
implementation are still a bit mysterious to me and may violate best practices for using it. That being said, it has been reliable as far as I’ve used it.
- Methods
InnerFromProcess
— This method takes a reference to aProcess
and returns the correspondingMicrosoft.Office.Interop.Excel.Application
object.ChildHandleFromMainHandle
— This method takes theHwnd
of aProcess
orApplication
object and returns a child window’sHwnd
.InnerFromHandle
— This method takes theHwnd
of a child window of anApplication
object and returns theApplication
.GetWindowZ
— This method takes theHwnd
of a window and returns itsz
value.EnumChildFunc
— This method is used by theEnumChildWindows
method to get child windowHwnd
s.
- External Methods
AccessibleObjectFromWindow
— This method takes theHwnd
of an Excel window, as well as some of the constants below, and returns (through itsref
parameter) a reference to aWindow
object, which can then be used to get its parentApplication
object.- It does not work if you pass it the value of a
Application
‘sHwnd
property; it must be a specific workbook’s window’sHwnd
. This may only be the case on Excel 2013 or newer, where there is no main Excel window.
- It does not work if you pass it the value of a
EnumChildWindows
— This method takes theHwnd
of the main window of an Excel instance and anEnumChildCallback
delegate as parameters, and returns (through itsref
parameter) theHwnd
of a child window, which can be used byAccessibleObjectFromWindow
.GetClassName
— This method is used by theEnumChildCallback
delegate that is passed toEnumChildWindows
. I believe it gets the details of theWindow
class internally so that anHwnd
can be returned.GetWindow
— This method takes anHwnd
and a constant as parameters. The constant used determines how to get otherHwnd
s based on the providedHwnd
. UsingGW_HWNDPREV
returns theHwnd
of the window directly above (z position) the givenHwnd
. This is used to get theTopMostInstance
.
- Constants and Delegates
MarshalName
— This constant is required to get the «active» instance (PrimaryInstance
) from theSystem.Runtime.InteropServices.Marshal
class.ProcessName
— This constant is required to get Excel processes by name fromSystem.Diagnostics.Process
.ComClassName
— This constant is required forEnumChildFunc
method, which is used by theEnumChildWindow
method from the Win32 API.DW_OBJECTID
— This constant is required for theAccessibleObjectFromWindow
method from the Win32 API.GW_HWNDPREV
— This constant is required for getting windowz
(depth) values from theGetWindow
method from the Win32 API. I copied a bit of the Microsoft documentation into the code comments.rrid
— This pseudo-constant is required for theAccesibleObjectFromWindow
from the Win32 API.EnumChildCallback
— This delegate is implemented by theEnumChildFunc
method and is requied for theEnumChildWindow
method from the Win32 API.
using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Text; using xlApp = Microsoft.Office.Interop.Excel.Application; using xlWin = Microsoft.Office.Interop.Excel.Window; namespace ExcelExtensions { public partial class ExcelAppCollection { #region Methods private static xlApp InnerFromProcess(Process p) { return InnerFromHandle(ChildHandleFromMainHandle(p.MainWindowHandle.ToInt32())); } private static Int32 ChildHandleFromMainHandle(Int32 mainHandle) { Int32 handle = 0; EnumChildWindows(mainHandle, EnumChildFunc, ref handle); return handle; } private static xlApp InnerFromHandle(Int32 handle) { xlWin win = null; Int32 hr = AccessibleObjectFromWindow(handle, DW_OBJECTID, rrid.ToByteArray(), ref win); return win.Application; } private static Int32 GetWindowZ(IntPtr handle) { var z = 0; for (IntPtr h = handle; h != IntPtr.Zero; h = GetWindow(h, GW_HWNDPREV)) z++; return z; } private static Boolean EnumChildFunc(Int32 hwndChild, ref Int32 lParam) { var buf = new StringBuilder(128); GetClassName(hwndChild, buf, 128); if (buf.ToString() == ComClassName) { lParam = hwndChild; return false; } return true; } #endregion #region Extern Methods [DllImport("Oleacc.dll")] private static extern Int32 AccessibleObjectFromWindow( Int32 hwnd, UInt32 dwObjectID, Byte[] riid, ref xlWin ptr); [DllImport("User32.dll")] private static extern Boolean EnumChildWindows( Int32 hWndParent, EnumChildCallback lpEnumFunc, ref Int32 lParam); [DllImport("User32.dll")] private static extern Int32 GetClassName( Int32 hWnd, StringBuilder lpClassName, Int32 nMaxCount); [DllImport("User32.dll")] private static extern IntPtr GetWindow(IntPtr hWnd, UInt32 uCmd); #endregion #region Constants & delegates private const String MarshalName = "Excel.Application"; private const String ProcessName = "EXCEL"; private const String ComClassName = "EXCEL7"; private const UInt32 DW_OBJECTID = 0xFFFFFFF0; private const UInt32 GW_HWNDPREV = 3; private static Guid rrid = new Guid("{00020400-0000-0000-C000-000000000046}"); private delegate Boolean EnumChildCallback(Int32 hwnd, ref Int32 lParam); #endregion } }
Points of Interest
Please let me know if you find this class helpful (or terrible). I’m especially interested in issues with older version of Excel (pre-2013), multiple versions of Excel on one machine, or multiple users on one server. If you have any further insight into how the Win32 API is working behind the scenes, I would also like to know more about that. Any feedback is highly appreciated.
Further Developments
I have recently started working on a WPF application called ExcelBrowser that allows users to easily browse through multiple Excel instances, their workbooks, and sheets. Part of the implementation of this application is directly decended from the class described in this article. Check it out at github.com/JamesFaix/ExcelBrowser. Also, note that the solution uses C#6/.NET 4.6.1. As of writing this, I also need to catch up on some code comments, so bear with me.
The parts related to this article are in the ExcelBrowser.Interop project of the solution. All extern
methods are encapsulated in the NativeMethods
class, the Session
class represents a collection of all running Applications
and all running Processes
with the name «Excel». AppFactory
provides methods for getting specific Application
instances. Some other parts of this class are also in the ApplicationExtensionMethods
and ProcessExtensionMethods
classes.
History
- Added «Further Developments» section 11/20/16
- Posted 2/23/2016
I am a professional developer, but I really create software because it’s fun. I’ve always been interested in deconstructing complex systems, and software engineering has proven to be an inexhaustable supersystem of such systems. In the past I’ve also spent time focusing on music composition, audio engineering, electronics, game design, history, and philosophy.
My strongest languages are English and C#, in fact I’m a Microsoft Certified Professional for «Programming in C#». I do not have any certifications for English, so please trust me there. I’ve spent a lot of time working on Windows desktop applications, particularly for interacting with SQL Server or automating Microsoft Office programs, using technologies such as C#, VB.NET, VBA, T-SQL, WinForms, WPF, ADO.NET, the MS Office PIA’s, ExcelDNA, EPPlus, and Crystal Reports. I’ve also done some web development using JavaScript, HTML, CSS, TypeScript, ASP.NET, WCF, jQuery, and requirejs. I am very interested in functional programming (F#, Haskell, Clojure), and try to use C# and JavaScript in a «functional» way at times, but I haven’t had the opportunity to use a functional language for a serious project yet.
Как показано на левом снимке экрана, вам нужно найти и перечислить все совпадения значения «Linda» в таблице. Как этого добиться? Пожалуйста, попробуйте методы, описанные в этой статье.
Список всех совпавших экземпляров значения с формулой массива
Легко перечислить только первый совпавший экземпляр значения с Kutools for Excel
Больше руководств по ВПР …
Список всех совпавших экземпляров значения с формулой массива
С помощью следующей формулы массива вы можете легко перечислить все совпадающие экземпляры значения в определенной таблице в Excel. Пожалуйста, сделайте следующее.
1. Выберите пустую ячейку для вывода первого совпадающего экземпляра, введите в нее формулу ниже, а затем нажмите Ctrl + Shift + Enter ключи одновременно.
=INDEX($B$2:$B$11, SMALL(IF($D$2=$A$2:$A$11, ROW($A$2:$A$11)-ROW($A$2)+1), ROW(1:1)))
Внимание: В формуле B2: B11 — это диапазон, в котором находятся соответствующие экземпляры. A2: A11 — это диапазон, содержащий определенное значение, на основе которого вы перечислите все экземпляры. И D2 содержит определенное значение.
2. Продолжайте выбирать ячейку результата, затем перетащите маркер заполнения вниз, чтобы получить другие совпавшие экземпляры.
Легко перечислить только первый совпавший экземпляр значения с Kutools for Excel
Вы можете легко найти и перечислить первый совпавший экземпляр значения с помощью Найдите значение в списке Функция Kutools for Excel без запоминания формул. Пожалуйста, сделайте следующее.
1. Выберите пустую ячейку, в которую вы поместите первый совпавший экземпляр, затем щелкните Кутулс > Формула Помощник > Формула Помощник.
2. в Помощник по формулам диалоговое окно, вам необходимо:
2.1 Найдите и выберите Найдите значение в списке вариант в Выберите формулу коробка;
Tips: Вы можете проверить Фильтр введите ключевое слово в текстовое поле, чтобы быстро отфильтровать нужную формулу.
2.2 В Таблица_массив в поле выберите диапазон таблицы, который содержит столбец определенного значения и столбец сопоставленных экземпляров;
2.3 В Look_value поле, выберите ячейку с конкретным значением, на основе которого будет указан первый экземпляр;
2.4 В Колонка выберите столбец, содержащий соответствующий экземпляр. Или просто введите в него номер столбца;
Tips: Номер столбца основан на выбранном количестве столбцов, если вы выберете четыре столбца, и это третий столбец, вам нужно ввести номер 3 в Колонка пунктом.
2.5 щелкните значок OK кнопку.
Затем первый подходящий экземпляр данного значения отображается, как показано на скриншоте ниже.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Статьи по Теме
Значения Vlookup на нескольких листах
Вы можете применить функцию vlookup, чтобы вернуть совпадающие значения в таблице рабочего листа. Однако, если вам нужно использовать значение vlookup на нескольких листах, как вы можете это сделать? Эта статья содержит подробные инструкции, которые помогут вам легко решить проблему.
Vlookup и возврат совпадающих значений в нескольких столбцах
Обычно применение функции Vlookup может вернуть совпадающее значение только из одного столбца. Иногда вам может потребоваться извлечь совпадающие значения из нескольких столбцов на основе критериев. Вот решение для вас.
Vlookup возвращает несколько значений в одной ячейке
Обычно при применении функции ВПР, если есть несколько значений, соответствующих критериям, вы можете получить результат только для первого из них. Если вы хотите вернуть все совпавшие результаты и отобразить их все в одной ячейке, как этого добиться?
Vlookup и возврат всей строки совпадающего значения
Обычно использование функции vlookup может возвращать результат только из определенного столбца в той же строке. Эта статья покажет вам, как вернуть всю строку данных на основе определенных критериев.
Обратный просмотр Vlookup или в обратном порядке
Как правило, функция ВПР ищет значения слева направо в таблице массивов и требует, чтобы значение поиска оставалось в левой части целевого значения. Но иногда вы можете знать целевое значение и захотеть узнать значение поиска в обратном порядке. Следовательно, вам необходимо выполнить поиск в обратном порядке в Excel. В этой статье есть несколько способов легко справиться с этой проблемой!
Больше руководств по ВПР …
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Вы получаете слово «Тестирование» снова и снова, потому что ваш цикл ищет слово «Тестирование», а не «Январь».
If Not FoundCell Is Nothing Then
FirstFound = FoundCell.Address
Do
MsgBox "Found it!"
FoundCell.Value = "Testing"
Set FoundCell = myRange.FindNext(FoundCell)
Loop While Not FoundCell Is Nothing And FoundCell.Address <> FirstFound
Else
FoundCell.Value = «Testing», вы устанавливаете значение ячейки для тестирования с помощью этой строки
Set FoundCell = myRange.FindNext(FoundCell) теперь вы ищете строку «Testing». FoundCell — это диапазон. Я считаю, что свойство по умолчанию для диапазона ячеек — это значение ячейки (т. Е. «Тестирование»).
Итак, вы сначала находите строку «Январь», меняете ее на «Тестирование», а затем снова и снова ищете строку «Тестирование», которую вы продолжаете находить, потому что вы продолжаете записывать ее в новую ячейку с каждой итерацией цикла.
По крайней мере, мне кажется, что именно это и происходит, я на самом деле не пытался запустить код. Вероятно, вы могли бы исправить это, изменив Set FoundCell = myRange.FindNext(FoundCell) на Set FoundCell = myRange.FindNext(FoundCell.Value)
Содержание
- Table of Contents:
- Windows XP
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Шаг 5
- Шаг 6
- Шаг 7
- Шаг 8
- Виндоус виста
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Шаг 5
- Windows 7
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Как найти потерянные значки панели инструментов
- Как найти или заблокировать потерянные или украденные устройства с Windows 10
- Mozilla Firefox: найти и восстановить потерянные закладки
- Трюк Excel 6. Восстановление несохраненного файла Excel (Октябрь 2022).
- Как найти файл на компьютере с Windows 10
- Как найти файлы по названию
- Как найти файлы по дате создания
- Как найти файлы по типу
- Как найти файлы по размеру
- Как найти текстовый документ на компьютере, если не помнишь название
- Эволюция функции «Поиск»
- Начинаем искать
- Все текстовые документы
- По имени
- По дате
- По типу
- По размеру
- По содержанию
- Как найти все файлы excel на компьютере
- Как найти нужный файл на компьютере?
- Что такое библиотеки?
- Как работать с проводником в Windows
- Чтобы изменить способ показа содержимого папок:
- Чтобы упорядочить содержимое:
- Использование Поиска
- Для поиска в Библиотеках:
- Параметры и функции поиска
- Работа с «Поиском» в Windows 7
- Как настроить поиск в windows 7
- Источники поиска
- Найдены дубликаты
Table of Contents:
Потеря файлов Excel может быть неприятной, особенно если вы не помните имя файла. К счастью, операционная система Windows предлагает несколько вариантов поиска файлов, которые позволяют вам находить определенные типы файлов независимо от того, где они расположены на вашем компьютере. Если вы помните какие-либо ключевые слова в файле, вы можете добавить их, чтобы сузить область поиска. Однако убедитесь, что ваш файл содержит эти ключевые слова в точности так, как вы вводите их в функцию поиска; в противном случае вы можете исключить искомый файл из поиска.
Встроенный инструмент поиска Windows найдет ваши потерянные файлы Excel.
Windows XP
Шаг 1
Нажмите «Пуск» в левом нижнем углу экрана вашего компьютера.
Шаг 2
Наведите указатель мыши на «Поиск», затем выберите «Для файлов или папок».
Шаг 3
Нажмите «Документы», затем выберите «Использовать расширенные параметры поиска», затем нажмите «Дополнительные параметры расширенного поиска».
Шаг 4
Щелкните по соответствующему полю, когда файл был последний раз изменен. Если вы не знаете, оставьте этот раздел пустым.
Шаг 5
Введите «.xls» (без кавычек) в поле, которое запрашивает все или часть имени документа. Если вы используете Excel 2007 или более поздние версии, введите «.xlsx» вместо «.xls». Это ограничит ваш поиск файлами Excel.
Шаг 6
Добавьте ключевые слова в поле ключевых слов, если вы знаете какие-либо из электронных таблиц, и измените поле «Искать в» на «Мой компьютер».
Шаг 7
Установите флажки, помеченные флажками «Папки системы поиска», «Поиск скрытых файлов и папок», «Поиск подпапок» и «Поиск резервной копии на ленте».
Шаг 8
Нажмите «Поиск» и позвольте Windows найти ваш документ для вас. Если вы не ввели ключевые слова, система найдет все файлы Excel, которые соответствуют другим критериям, поэтому у вас может быть длинный список для прокрутки, чтобы найти ваш файл.
Виндоус виста
Шаг 1
Нажмите на шар «Пуск» в левом нижнем углу экрана. Поле поиска находится внизу меню «Пуск».
Шаг 2
Введите «.xls» (без кавычек) в поле поиска. Если вы используете Excel 2007 или более поздние версии, введите «.xlsx» вместо «.xls». Это ограничит ваш поиск файлами Excel. Добавьте в это поле любые ключевые слова, которые вы помните из документа, отделив их от расширения файла Excel пробелом.
Шаг 3
Нажмите клавишу «Ввод».
Шаг 4
Посмотрите результаты поиска для вашего файла. Если вы не видите его в списке, установите флажок в верхней части окна результатов поиска с пометкой «Включить неиндексированные, скрытые и системные файлы».
Шаг 5
Нажмите «Документ» в верхней части окна, чтобы сузить результаты только до документов (включая электронные таблицы) и нажмите «Поиск». Прокрутите результаты, чтобы найти ваш потерянный файл Excel.
Windows 7
Шаг 1
Нажмите «Пуск», затем введите «Параметры папки» в поле поиска в нижней части меню «Пуск».
Шаг 2
Нажмите «Параметры папки», когда она появится, затем нажмите «Изменить параметры поиска для файлов и папок».
Шаг 3
Установите флажки для поиска скрытых файлов, папок и системных папок, затем нажмите «ОК».
Шаг 4
Снова нажмите «Пуск» и введите «.xls» или «.xlsx» плюс любые ключевые слова из файла Excel в поле поиска. Нажмите «Показать больше результатов» на странице результатов и прокрутите вниз, чтобы найти файл Excel.
Как найти потерянные значки панели инструментов
Как найти или заблокировать потерянные или украденные устройства с Windows 10
Как использовать и настроить приложение «Найти мое устройство» в Windows 10, чтобы помочь вам найти потерянные компьютеры.
Mozilla Firefox: найти и восстановить потерянные закладки
Знаете ли вы, что Mozilla Firefox регулярно создает резервные копии ваших закладок, не зная об этом? Если вы случайно потеряли свои закладки и забыли
Трюк Excel 6. Восстановление несохраненного файла Excel (Октябрь 2022).
Источник
Как найти файл на компьютере с Windows 10
Пропажа файлов – одна из наиболее распространенных проблем, с которой сталкиваются как опытные пользователи, так и новички. К счастью, в операционной системе Windows 10 предусмотрены достаточно мощные инструменты поиска. С помощью которых можно найти любой файл, где бы он не находился.
В этой статье мы расскажем, как найти файл на компьютере с операционной системой Windows 10. Будут рассмотрены несколько способов, в зависимости от информации, которая известна пользователю.
Как найти файлы по названию
Самый простой способ – это поиск по названию документа. Поэтому, если вы знаете, как называется нужный вам файл, то найти его не составит труда.
Если вы не знаете, в какой папке может находиться файл, то откройте один из дисков (например, диск D или C) или просто откройте окно « Этот компьютер », в этом случае поиск будет выполняться не в папке, а по всему диску или по целому компьютеру. Но, нужно учитывать, что поиск по диску или всему компьютеру займет намного больше времени, чем в одной конкретной выбранной папке.
Процесс поиска будет отображаться в виде зеленой полоски в адресной строке. Введите запрос и дождитесь, пока она дойдет до самого конца.
Как найти файлы по дате создания
Если вы не знаете, как называется искомый документ, но примерно помните дату его создание и место расположения, то можно выполнить поиск файла по дате создания.
Для этого откройте папку (диск или компьютер) и установите курсор в поисковую строку в правом верхнем углу экрана. После этого в верхней части окна появится новая вкладка под названием « Поиск ».
На вкладке « Поиск » нужно нажать на кнопку « Дата изменения » и выбрать один из предложенных вариантов. Среди стандартный вариантов есть: сегодня, вчера, на этой неделе, на прошлой неделе, в прошлом месяце, в этом году, в прошлом году.
После выбора одной из этих дат система выполнит поиск файлов в указанном временном диапазоне. При этом в поисковой строке появится команда « дата изменения », которая будет указывать на используемый временной отрезок.
Если вы хотите указать конкретную дату или другой отрезок времени, то вы можете кликнуть по текущему значения справа от команды « дата изменения » в поисковой строке и с помощью календаря выбрать нужное время. Для указания отрезка времени нужно зажать клавишу Shift кликнуть сначала по первой дате, а потом по последней.
Команду « дата
изменения » можно дополнить поиском по названию файла. Это позволит найти файлы с определенным названием и датой изменения. Для этого после команды « дата
изменения » поставьте пробел и введите название файла.
Используя комбинацию названия и даты, можно легко находить документы за определенный период.
Как найти файлы по типу
Также Windows 10 позволяет найти файлы определенного типа. Для этого нужно установить курсор в поисковую строку, перейти на вкладку « Поиск », нажать на кнопку « Тип » и в открывшемся списке выбрать один из предложенных типов документов. Список здесь достаточно большой и включается в себя такие распространенные типы как: документ (текстовый), папка, фильм, музыка, изображение и т.д.
После выбора одного из типов в поисковой строке появится команда « вид », которая будет указывать на выбранный тип файла.
Как и в предыдущем случае, поиск по типу можно комбинировать с другими способами поиска
Как найти файлы по размеру
Также в Windows 10 вы можете найти все файлы с определенным размером. Для этого нужно установить курсор в поисковую строку, перейти на вкладку « Поиск », нажать на кнопку « Размер » и выбрать один из предложенных вариантов. Здесь можно указать какого размера должны быть искомые документы: пустые (0 КБ), крошечные (0 – 16КБ), маленькие (16КБ – 1МБ) и т.д.
После этого в поисковой строке появится команда « размер », указывающая на размер искомых объектов.
При желании, после команды « размер » можно указать конкретное значение в килобайтах, мегабайтах или гигабайтах.
Как и для предыдущих случаев, поиск по размеру можно комбинировать с другими способами поиска. Например, вы можете найти файлы с определенным названием, размером и типом.
Источник
Как найти текстовый документ на компьютере, если не помнишь название
Эволюция функции «Поиск»
Первоначально поговорим об эволюции поисковой функции с появлением новых версий Windows. Помните XP? Окно поиска было отдельным. Ещё там сидел симпатичный помощник – собачка или кто-то другой. Попасть в него можно было через «Пуск».
В левую часть окна были вынесены настройки поиска:
Результаты отображались в правой части окна. На мой взгляд, очень удобно всё было устроено.
В новых версиях Windows – 7, 8 и 10 функция претерпела косметические изменения. Почему косметические? Да потому что её действие осталось прежним, но только параметры поиска задаются автоматически, когда в строку, расположенную и сразу в меню Пуск, и в каждой папке, вы вписываете значение для поиска. Либо их можно также настроить, но совершенно в другом месте. Исключение – только поиск по содержанию документа, но и это легко решаемо. Пока непонятно? Рассмотрим подробнее по каждому параметру чуть ниже. Зачем разработчики всё усложнили, точнее, упростили? Видимо, они заботились о нас вечно занятых пользователях.
Вот как выглядит поисковая строка в Windows 10.
А вот так в восьмой точка один версия ОС.
Поскольку с XP всё понятно, я буду рассказывать о различных возможностях поиска на примере «восьмёрки», тем более «семёрка» и «десятка» от неё в этом вопросе практически не отличаются.
Начинаем искать
Друзья, хватит разглагольствовать, приступим к основному вопросу — как можно найти потерявшийся документ Word на компьютере по разным его характеристикам.
Все текстовые документы
Сначала давайте попробуем найти на компьютере абсолютно все текстовые документы, не оглядываясь на такие параметры, как их название, содержимое и дата создания. Для этого откройте «Мой…», «Этот…» или просто «Компьютер». В правом верхнем его углу, рядом со строкой пути, найдётся и поисковая строка. А по соседству с основными разделами меню («Файл», «Вид» и другими) найдётся раздел «Поиск». Забегая вперёд, скажу, что именно там находятся настройки основных параметров.
Друзья, если вы хотя бы знаете, в какой папке находятся ваши текстовые документы, то перейдите в неё – это значительно облегчит работу вашей машине. Для поиска всех текстовых документов в строке необходимо вписать значение *.doc, *.docx или *.txt (зависит от того, что вы планируете найти).
По имени
Если вы знаете имя документа, то отыскать его не составит труда. Просто введите имя в строку поиска, и «вкушайте плоды». Но что делать, если название нужного файла в голове не сохранилось? В таком случае у вас остаётся ещё несколько вариантов – найти нужный документ, отсортировав имеющиеся по дате его рождения на свет (или изменения), по размеру (от пустых и крошечных до огромных и гигантских), по типу (выбрав «документ») или по внутреннему тексту.
По дате
Зайдите в любую папку, поставьте курсор в поисковую строку. В этот же момент отобразится новый раздел меню «Поиск». Раскройте его содержимое. Среди прочих настроек вы увидите параметр «по дате создания» (или последнего изменения). Среди возможных вариантов диапазоны времени от «сегодня» до «в прошлом году». Или просто попробуйте в строку ввести значение в виде точной даты. В результатах должны отобразиться все документы, созданные или изменённые указанного числа.
По типу
Среди тех же настроек имеется параметр «по типу». Перечень возможных вариантов включает файлы всех возможных типов – от календаря и контакта до музыки и фильма. В нашем случае требуется выбрать значение «документ».
По размеру
Тут же можно выбрать и размер. Машина будет искать даже пустые документы. Максимальный размер для поиска – 128 мегабайт.
По содержанию
Друзья, вот и подошли к тому, с чего начали – поиск текстового файла по его содержимому. Есть два варианта. Первый – это отметить галочкой нужный параметр всё в тех же настройках. Там есть раздел «Дополнительные параметры», в котором следует пометить галочкой пунктик «Содержимое файлов». Затем вводите нужную фразу в строке и запускайте поисковый процесс.
В то же окно настроек можно попасть и по-другому (актуально для «семёрки»):
Друзья, настроив поисковую функцию, вам останется только написать фразу из текста содержимого в строке и подождать результатов. Стоит заметить, что в этом случае поиск займёт более длительное время, за которое я успел налить себе чай и выпить его. На сегодня всё. До новых тем.
Источник
Как найти все файлы excel на компьютере
Как найти нужный файл на компьютере? На моем компьютере столько информации, а найти то, что нужно не могу. Вроде бы все время стараюсь все файлы тут же рассортировать по папкам, а все равно не помню, где что находиться. Иной раз такое зло берет… Срочно нужен файл, и знаю, что он у меня есть, а где – не знаю. Но часто я еще и не помню, как этот файл называется. Знакомая ситуация?
Как найти нужный файл на компьютере?
Для начала нам необходимо открыть окно поиска. Сразу оговорюсь, что описываемый метод не подходит для Windows 7, так как там и так все просто. Заходишь в проводник и ищешь.
А в Windows XP открыть окно поиска можно тремя способами.
Нажмите кнопку Поиск на панели инструментов;
Выберите Файлы и папки ;
Если вы помните хотя бы одно слово из названия файла, то впишите это слово в первое и второе окошко поиска. Если точно помните хоть одно слово (если несколько слов – еще лучше) внутри файла, то пишите его во втором окошке.
Я ничего кроме слова «заработок» из этого файла не помню.
Ниже в поле Поиск в: укажите на каком диске искать. Если у вас только один жесткий диск, то можете ничего не указывать.
Еще ниже можете открыть по двойной стрелочке добавочный поиск;
В нем вы можете указать примерную дату (когда вы его открывали последний раз) файла, и его размер (ну это вы, наверное, не помните);
В дополнительных опциях можно указать Тип файла (PDF, Word, Excel ит.д.) если вы его помните.
Нажмите кнопку Поиск и ждите.
Вот, что мой песик нашел.
Если поставить в слове вместо какой-то буквы знак вопроса, то поиск будет уже немного другой. Этот знак говорит о том, что вместо него может быть любая другая буква.
Если вначале или в конце слова поставить звездочку ( * ), то поиск будет по тому слову, которое вы написали, но заодно будут найдены файлы с каким-нибудь словом впереди (если звездочка стоит вначале слова) или сзади (если вы поставили звездочку в конце слова).
Вот таким нехитрым способом можно произвести поиск потерянных файлов.
Если у вас еще что-то пропало, то почитайте:
В Windows 7 разработана функция поиска файлов и библиотеки, которые облегчают поиск и другие операции с файлами.
В этом уроке вы узнаете, как получить доступ к содержимому компьютера с помощью поиска и библиотек. Более того, вы познакомитесь с функциями, которые предлагают удобную настройку, например, теги, фильтры поиска, создание библиотек и так далее.
Что такое библиотеки?
Большинство пользователей получают доступ к файлам с помощью папки «Мои документы», диска «C», или других мест. Возможно вы привыкли перебирать многоуровневые стеки папок, чтобы добраться до нужного файла. Это может занимать много времени, особенно, если вы не помните, где лежит файл. Для упрощения поиска нужного контента Microsoft разработала Библиотеки.
Библиотеки – это коллекции, сохраненной вами информации, к которой легко получить доступ с помощью функции Поиска на экране. Библиотеки не заменяют папок, они просто размещают их в одной коллекции. Когда файлы размещены в Библиотеке, их свойства индексируются функцией поиска. Такая индексация делает доступ к файлам в Поиске быстрее и проще.
По умолчанию в Windows 7 есть четыре стандартные библиотеки: Документы, Изображения, Музыка и Видео. В этом уроке мы также покажем, как создать свою собственную библиотеку.
Понимание Проводника поможет вам лучше ориентироваться в содержимом и облегчит работу с файлами и папками.
1) Навигационные кнопки
Используйте кнопки Вперед и Назад, чтобы перемещаться между папками.
2) Панель инструментов
В зависимости от типов объектов в области библиотек на панели инструментов меняются ярлыки.
3) Область переходов или панель навигации
Вы можете добраться до папки традиционным способом в Области переходов.
4) Область сведений
Область сведений позволяет вам увидеть дополнительную информацию, добавить ключевые слова и категории для выбранного объекта.
Используйте адресную строку, чтобы посмотреть путь до текущей папки.
6) Область библиотек
Объекты можно объединить в Библиотеки.
Нажмите ее, чтобы изменить способ отображения объектов.
Кнопка показа области предпросмотра
Нажмите на нее, чтобы открыть область предпросмотра.
Используйте поле поиска для поиска файлов и папок.
В зависимости от Библиотеки, вы можете упорядочить содержимое по месяцам, дням, оценкам и др. параметрам.
Как работать с проводником в Windows
Чтобы изменить способ показа содержимого папок:
Существует несколько способов отображения содержимого папок. Например, вам может больше нравится отображение в виде «Таблица», нежели просмотр документов с отображением «Огромные значки» (подходящим для просмотра картинок).
Чтобы упорядочить содержимое:
В зависимости от Библиотеки, вы можете упорядочить содержимое по месяцам, дням, категориям и т.д.
Использование Поиска
Для поиска в Библиотеках:
Параметры и функции поиска
Поиск и Библиотеки обладают несколькими функциями, которые помогают идентифицировать и упорядочивать файлы. Ключевые слова могут быть добавлены для конкретных файлов, чтобы улучшить результативность Поиска. По ним вы можете упорядочивать содержимое, например, Изображения и Музыку. Ключевые слова или Оценка отображаются в области сведение, как показано ниже.
Различные фильтры поиска могут применяться для поиска контента или сужения области поиска. В зависимости от библиотеки, фильтры поиска могут включать тип, дату изменения, ключевое слово, автора и т.д. Ниже приведен пример фильтра поиска в библиотеке Видео.
Чтобы получить доступ к остальным параметрам поиска, нажмите кнопку Упорядочить и выберите Параметры папок и поиска.
Проводник не единственное место, где можно получить доступ к Поиску и Библиотекам. Вы можете найти область поиска в меню Пуск, и в один клик получить доступ к часто используемым Библиотекам.
Библиотеки – это коллекции содержимого, которое определяет пользователь. Они являются новыми «точками входа» для доступа к файлам. Таким образом, при сохранении объектов, Windows 7 направит вас в Библиотеки. У Библиотек есть папки сохранения по умолчанию. Если вы не укажете иное, то ваш файл будет сохранен в соответствующей папке сохранения Библиотеки.
Вам не обязательно сохранять содержимое в Библиотеках и пользоваться ими для доступа к файлам. Панель навигации дает доступ к содержимому компьютера, то есть к сохраненным файлам и папкам. Вы можете пользоваться традиционным путем доступа с помощью многоуровневого списка.
Работа с «Поиском» в Windows 7
Перед тем как приступить к поиску файла или папки, хорошо бы было подумать где именно мог бы располагаться искомый объект. Далее открываем окно с предполагаемым местом расположения, например папка «Компьютер» и в верхнем правом углу в поле поиска вводим слово или фразу для поиска. Поиск начинается автоматически. Если воспользоваться поиском в меню пуск, то он будет произведен только в папках и документах, которые находятся в пуске. То есть получается, что поиск в Windows 7 устроен следующим образом:
Поиск осуществляется в папке в которой была введена искомая фраза и ее подпапках.
Рассмотрим на конкретном примере. Я открою раздел жесткого диска (C:) и введу слово «файл»:
Во время поиска выскочило сообщение о том, что он может быть медленным в неиндексированных расположениях. Это означает, что поиск выполнялся только по имени, а не по имени и содержимому файлов. Можно добавить расположение в индекс, но это занимает много времени.
Если искомый элемент не был найден, можно опуститься в конец результатов поиска и указать место в котором его повторить.
Обратите внимание, что при вводе фразы в поле поиска открывается фильтр, которым можно воспользоваться для более точного поиска, установив определенные критерии поиска.
При использовании поиска в меню пуск, щелкните «Ознакомиться с другими результатами», чтобы указать другое расположение или установить фильтры.
В процессе работы с поиском в его строке сохраняются все введенные фразы. Чтобы их удалить наведите на одну из низ курсор мыши и нажмите Delete.
Поиск – это неотъемлемая часть работы любого компьютера, по сути, это его самая главная функция. Если вам, скажем, нужно найти ответы на вопросы элементарные, то, разумеется, заморачиваться над настройками поиска нет смысла. Однако, если вы ставите перед собой и компьютером задачи посложнее, и вам важен конечный результат, лучше об этом побеспокоиться. Стандартный поиск в windows 7, разумеется, принесет свои плоды, выдаст множество результатов, но будут ли они подходящими и нужными? Вопрос риторический, но если вы все же озаботились грамотной настройкой своего компьютера, предлагаю вариации на тему того, как модернизировать/улучшить встроенный поиск в windows 7.
Как настроить поиск в windows 7
Прежде всего, давайте разберемся, как происходит поиск. Найти можно лишь проиндексированные файлы и папки, то есть, такие, которым присвоен индекс. Он присваивается всем элементам, которые находятся в стандартных папках. Для того чтобы настроить индексирование, нужно сделать следующее: зайдите в пусковое меню, ищете «параметры поиска» и в выпадающем списке выбираете «Изменение параметров поиска для папок и файлов». В появившемся окне выбираете вкладку «Поиск», и ставите галочки везде, где считаете нужным, но лучше сделать так, как на картинке ниже. Кстати, советую не выбирать поиск по имени файла, а отдать предпочтения проиндексированным приложениям, так вы ограничите себя от лишнего мусора.
Источники поиска
Для того чтобы закрепить материал, давайте четко сформулируем те места, по которым будет проводиться обширный поиск информации, а именно:
В целом, если спокойно сесть и разобраться, настройка поиска оказывается достаточно простым процессом. Для этого совсем не нужно обладать узкопрофильными знаниями, достаточно следовать несложным советам данной статьи, и, я уверена, все у вас получится!
В Excel, путём проведения нехитрых махинаций, имеется возможность получения списка файлов, находящихся в папке компьютера. Для этого копируем путь к файлам в папке и вставляем его в нужную ячейку, при этом в конце пути необходимо указать маску поиска файлов вида:
2. *.xl* – все файлы Excel (xls, xlsx, xlsm, xlsb и т.д.);
3. *.exe – все исполняемые файлы (программы);
4. *.docx (doc, docm) – все документы Word. Добавив ключевое слово Рок*.docx в список войдут все названия файлов, начинающиеся со слова «Рок».
Дальше нажатием Ctrl+F3 или на вкладке «Формулы» — «Диспетчер имён», в открывшемся окне создадим новое имя Список_файлов и введём в строку Диапазон следующую формулу =ФАЙЛЫ(Лист1!$A$1) где «Лист1» – это название листа, а «А1» – ячейка с адресом
Теперь в созданном нами названии «Список_файлов» уже содержатся нужные имена файлов, осталось их оттуда извлечь. Для этого используем в ячейке А3 следующую формулу и протянем её вниз: =ЕСЛИОШИБКА(ИНДЕКС(Список_файлов;СТРОКА()-2);””)
Функция ЕСЛИОШИБКА нужна, чтобы спрятать ошибку #ССЫЛКА, которая возникает, когда мы протягиваем формулу «с запасом», т.е. на больший по размеру диапазон, чем количество имеющихся у нас файлов.
Функция ИНДЕКС извлекает из массива элемент по номеру, например, формула =ИНДЕКС(Список_файлов; 5) выдаст имя пятого по счету файла в папке.
Функция СТРОКА, выдает порядковый номер текущей строки, из которого мы вычитаем 2, т.к. первая ячейка, куда выводится имя, в нашем случае А3.
Найдены дубликаты
Это смотря для чего.
У меня описанное ТС-ом работает в макросе сбора данных из текстовых файлов генерируемых CMM машиной.
Файл с макросом копируется в папку с выбранной горой текстовых отчетов и макрос делает из кучи барахла удобокопируемые данные.
Если бы делал для себя- может и морочился бы с текстовым файлом и батниками. Но задача была сделать файл для работы необученого ничему оператора. Чтобы нажал кнопку и всё получилось.
Использование экселя для получения данных, безусловно, удобно когда потом эти же данные надо обрабатывать в экселе. Но в общем случае использовать. Эксель для получения списка файлов менее удобно, чем воспользоваться программами, которые прямо для этого и предназначены (не уверен что dir это программа, а не команда оболочки — сам я по юниксам).
Источник